码迷,mamicode.com
首页 > 其他好文 > 详细

单链表的基本操作

时间:2018-10-02 14:01:37      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:int   empty   type   link   div   初始   node   bsp   基本   

 1 #define int Status
 2 #define OK 1
 3 #define ERROR 0
 4 struct struct {  //此处为举例 
 5     char num[10];  //数据域 
 6     char name[10];//数据域 
 7     int score;//数据域 
 8 }ElemType;
 9 typedef struct Lnode{
10     ElemType data;//数据域 
11     struct Lnode *next;    //指针域 
12 }Lnode,*Linklist;
13 //初始化链表:构造一个空表 
14 int initList_L(Linklist L){
15     L=(Lintlist)malloc(sizeof(Lnode));
16     L->next=NULL;
17     return OK;
18 } 
19 //判断链表是否为空表
20 int ListEmpty(Linklist L){    //若L为空表,返回1;若非空返回0 
21     if(L->next)
22         return 0;
23     else
24         return 1;
25 }
26 //单链表的销毁
27 //从头指针开始,依次释放所有节点 
28 Status DestroyList_L(Linklist L){
29     Linklist p;
30     while(L!=NULL){
31         p=L;
32         L=L->next;
33         free(p);
34     }
35     return OK;
36 }
37 
38 //清空单链表
39 //链表任然存在,但链表中无元素,成为空链表(头指针和头结点任然存在)
40 //依次释放所有节点 ,并将头结点指针域设置为空
41 Status ClearList(Linklist L){
42     Linklist p,q;//或Lnode *p,*q; 
43     p=L->next;
44     while(p){    //没到表尾 
45         q=p->next;
46         free(p);
47         p=q;
48     }
49     L->next=NULL;//头结点指针域为空 
50     return OK;
51 }
52 //求单链表的表长
53 int ListLength_L(Linklist L){//返回L中数据元素的个数 
54     Linklist p; //Lnode *p; 
55     p=L->next;    //P指向第一个结点 
56     i=0;
57     while(p){    //遍历单链表,统计节点数 
58         i++;
59         p=p->next;
60     }
61     return i;
62 }
63 //取值--取单链表中的第I个元素的内容
64 Status GetElem_L(Linklist L,int i,ElemType &e){
65     //获取L中第i个元素的内容,通过变量e返回 
66     p=L->next;j=1;//初始化P指向首元结点 
67     while(p&&j<i){    //向后扫描,直到P指向第I个元素或p为空时 
68         p=p->next;++j;
69     }
70     if(!p||j>i) return ERROR;//第i个元素不存在 
71     e=p->data;    //取第i个元素 
72     return Ok;
73 }
74  

 

单链表的基本操作

标签:int   empty   type   link   div   初始   node   bsp   基本   

原文地址:https://www.cnblogs.com/suqf/p/9736217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!