博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单链表的实现
阅读量:5948 次
发布时间:2019-06-19

本文共 3255 字,大约阅读时间需要 10 分钟。

1 #include 
2 #include
3 4 typedef struct node 5 { 6 int num; 7 struct node* next; 8 }node; 9 10 node *head = NULL; 11 12 node *make_node(int data) 13 { 14 node *p = (node *)malloc(sizeof(node)); 15 16 if(p == NULL) 17 { 18 return NULL; 19 } 20 else 21 { 22 p -> num = data; 23 p -> next = NULL; 24 } 25 return p; 26 } 27 28 void insert_node_head(node *p) 29 { 30 p -> next = head; 31 head = p; 32 } 33 34 void insert_node_tail(node *p) 35 { 36 node *p1 = head; 37 node *end = NULL; 38 if(head == NULL) 39 { 40 head = p; 41 } 42 else 43 { 44 while(p1 -> next != NULL) 45 { 46 p1 = p1 -> next; 47 } 48 p1 -> next = p; 49 p1 = p; 50 p -> next = NULL; 51 } 52 } 53 54 void free_node(node *p) 55 { 56 free(p); 57 } 58 59 void traverse() 60 { 61 node *p = head; 62 if( p == NULL) 63 { 64 printf("no num/n"); 65 } 66 while(p != NULL) 67 { 68 printf("%d ",p -> num); 69 p = p -> next; 70 } 71 printf("\n"); 72 } 73 74 node *find(int n) 75 { 76 node *p = head; 77 while(p != NULL) 78 { 79 if(n == p -> num) 80 { 81 return p; 82 } 83 p = p -> next; 84 } 85 return NULL; 86 } 87 88 89 void rm_node(node *p) 90 { 91 if(p == head) 92 { 93 head = head -> next; 94 p -> next = NULL; 95 return; 96 } 97 else 98 { 99 node *pre = head;100 while(pre != NULL)101 {102 if(pre -> next == p)103 {104 pre -> next = p -> next ;105 p -> next = NULL;106 return ;107 }108 pre = pre -> next;109 }110 }111 }112 113 void destory()114 {115 node *p = head ;116 while(head != NULL)117 {118 head = head -> next;119 free_node(p);120 p = head;121 }122 }123 int main()124 {125 node *p = make_node(1);126 insert_node_tail(p);127 128 p = make_node(3);129 insert_node_tail(p);130 131 p = make_node(5);132 insert_node_tail(p);133 134 p = make_node(7);135 insert_node_tail(p);136 137 traverse();138 139 int a = 3;140 p = find(3);141 if(p == NULL)142 {143 printf("can not find num3\n");144 }145 else146 {147 printf("%d\n",p -> num);148 }149 destory();150 traverse();151 }

 

转载于:https://www.cnblogs.com/glllvwcc/p/4925821.html

你可能感兴趣的文章
UVA 122 Trees on the level 二叉树 广搜
查看>>
POJ-2251 Dungeon Master
查看>>
tortoisesvn的安装
查看>>
URAL 1353 Milliard Vasya's Function DP
查看>>
速读《构建之法:现代软件工程》提问
查看>>
Android onclicklistener中使用外部类变量时为什么需要final修饰【转】
查看>>
django中聚合aggregate和annotate GROUP BY的使用方法
查看>>
TFS简介
查看>>
docker管理平台 shipyard安装
查看>>
Bootstrap3 栅格系统-简介
查看>>
ADODB类库操作查询数据表
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
sed处理文本
查看>>
jquery 操作iframe、frameset
查看>>
解决vim中不能使用小键盘
查看>>
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
查看>>
我的友情链接
查看>>
CentOS定时同步系统时间
查看>>
批量删除用户--Shell脚本
查看>>