求几段数据结构程序,C语言C++皆可

来源:百度知道 编辑:UC知道 时间:2024/05/18 06:35:05
1.创建线性表,键盘输入元素,屏幕输出
2.对线性表进行添删改查的操作
3.创建单链表,键盘输入元素,屏幕输出
4.对单链表进行添删改查的操作

终于辛苦的打完了,希望对你有用~~~尽力了~~~
/*链表的基本操作*/
# define NULL 0
# define ERROR 0
# define LEN sizeof(struct linklist)
struct linklist { /*链表的存储结构的表示*/
int data;
struct linklist *next;
};
int n; /*定义n为全局变量*/
struct linklist *head;
struct linklist *create( ) /*创建一个空链表*/
{
struct linklist *p,*q; /* p、q 为指向struct linklist 类型数据的指针变量*/
p=q=(struct linklist*)malloc(LEN); /*开辟一个新单元*/
scanf ("%d",&p->data);
head=NULL;
while (p->data!=0) /*当所输入数据不为0时,则执行循环体*/
{
n=n+1;
if (n==1) head=p;
else q->next=p;
q=p;
p=(struct linklist*)malloc(LEN); /*注要开辟了一个新单元后,才能输入数据
scanf("%d",&p->data);
}
q->next=NULL;
return(head); /*返回链表的头地址*/
}

struct linklist *insert(struct linklist *head,struct linklist *input) /*插入操作*/
{
struct linklist *s,*p,*q;
p=head; /*使p指向第一个结点*/
s=input; /*s指向要插入