1)单链表创建,插入节点的过程和遍历过程;
2)实现在链表中查找指定元素;
2)实现数据节点的删除操作,
Int ListDelete_Link (LinkList L,int i,ElemType &e)
3)实现数据节点的修改操作(modify),该函数带入两个参数,一个表示要修改节点的位置,另一个表示该节点的新值。
#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
struct LNode
{
int data;
struct LNode *next;
};
typedef struct LNode *LinkList;
ListInit_Link(LinkList L)
{
L=(LinkList)malloc(sizeof(struct LNode));
if(!L) exit(-1);
L->next=NULL;
return 1;
}
void CreateList_Link (LinkList &L,int n)
{
int i; LinkList p,q;
L=(LinkList)malloc(sizeof(struct LNode));
L->next=NULL; q=L;
printf(" 请输入%d 个数据\n",n);
for(i=1;i<=n;i++)
{
p=(LinkList)malloc(sizeof(struct LNode));
scanf("%d",&p->data);
q->next=p;
q=q->next;
}
p->next=NULL;
}
int ListInsert_Link (LinkList L,int i,int e)
{
int j=0;
LinkList p=L,s;
while(p&&j<i-1)
{
p=p->next;
j++;
}
if(!p||j>i-1)
return 0;
s=(LinkList)malloc(sizeof(struct LNode));
s->data=e;
s->next=p->next;
p->next=s;
return 1;
}
void ListTraverse_Link (LinkList L)
{
LinkList p=L->next;
while(p)
{
printf("%d",p->data);
p=p->next;
}
}
慕村9548890
德玛西亚99
哔哔one
相关分类