南昌大学数据结构实验程序 联系客服

发布时间 : 星期日 文章南昌大学数据结构实验程序更新完毕开始阅读6ac0e95e844769eae009ed63

{ printf(\exit(0);}

L->next=NULL; return L;}

/*第i个结点插入元素*/

void listins(linkedlist L, int i, int x) { linkedlist p,s;int j; p=L;j=0;

while(p && jnext;j++;} if(!p||j>i)

{printf(\

s=(LNODE *)malloc (sizeof(LNODE)); s->data=x;

s->next=p->next; p->next=s; }

/*求链表表长*/

int listlen(linkedlist L) { linkedlist p; int j; p=L->next; j=0; while(p)

{ j++;p=p->next;} return j; }

/*输出链表*/

void listprint(linkedlist L) {

linkedlist p; p=L->next;

while(p!=NULL)

{ printf(\ p=p->next; } }

main()

{linkedlist La; La=listbuild();

printf(\插入前链表元素为:\listprint(La); printf(\listins(La,1,10);

printf(\插入后链表元素为:\listprint(La); printf(\}

3) 删除链表的第3个元素,输出链表 #include #include #include /*定义*/

typedef struct node { int data;

struct node *next; }LNODE,*linkedlist;

/*建立表*/

linkedlist listbuild( ) { int x;

LNODE *L,*p,*q;

L=(LNODE*)malloc(sizeof(LNODE)); L->next=NULL; scanf(\while (x!=0)

{p=(LNODE*)malloc(sizeof(LNODE));

p->data=x;

p->next=L->next; L->next=p;

scanf(\return(L); }

/*初始化链表*/ linkedlist listinit() { linkedlist L;

L=(LNODE *)malloc(sizeof(LNODE)); if(L==NULL)

{ printf(\exit(0);}

L->next=NULL; return L;}

/*第i个结点插入元素*/

void listins(linkedlist L, int i, int x) { linkedlist p,s;int j; p=L;j=0;

while(p && jnext;j++;} if(!p||j>i)

{printf(\

s=(LNODE *)malloc (sizeof(LNODE)); s->data=x;

s->next=p->next; p->next=s; } /**/

void listdel(linkedlist L, int i) {

linkedlist p,q; int j; p=L;j=0;

while(p->next && jnext;j++;}

if(p->next==NULL||j>i)

{printf(\q=p->next;

p->next=q->next; free(q);}

/*求链表表长*/

int listlen(linkedlist L) { linkedlist p; int j; p=L->next; j=0; while(p)

{ j++;p=p->next;} return j; }

/*输出链表*/

void listprint(linkedlist L) {

linkedlist p; p=L->next; while(p!=NULL) { printf(\ p=p->next; } }

main()

{linkedlist La; La=listbuild();

printf(\删除前链表元素为:\ listprint(La); printf(\

listdel(La, 3);

printf(\删除后链表元素为:\ listprint(La); printf(\ }

}