一、单链表
实验内容:单链表的定义、创建、插入和删除操作,将数据显示出来。 源程序
#include<stdio.h>
#define null 0
#define slnode struct node
slnode /*定义结构体*/
{int data;
slnode *next;
};
slnode *h;
slnode *create_sl()
{slnode *p,*s;
int x;
h=(slnode *)malloc(sizeof(slnode));
p=h;
h->next=null; /*初始化*/
x=get_data();
while(x!=-1) /*创建,以输入-1结束*/
{s=(slnode *)malloc(sizeof(slnode));
s->data=x;
if(h->next==null) h->next=s;
else p->next=s;
p=s;
x=get_data();}
p->next=null;
return h;}
get_data() /*获取数据元素*/
{int x;
scanf("%d",&x);
return x;}
slnode *insert(slnode *h,int i,int x)
/*在第i个结点处插入数据元素x*/
{slnode *p,*s;
int j;p=h;j=0;
while(p->next!=null&&j<i-1)
{p=p->next;j++;}
if(j!=i-1)
{printf("i is invalid!");
…… …… 余下全文