博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言实现常用数据结构:不带头结点的单链表(第4篇)
阅读量:3944 次
发布时间:2019-05-24

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

使用示例

带头结点的单链表请参见:

[C语言实现常用数据结构:带头结点的单链表(第3篇)https://blog.csdn.net/qq_43351159/article/details/107840078

功能:输入数据个数和数据,逆序保存到顺序表,并逆序输出显示到屏幕。

运行结果如下:

请输入数据总个数:10

请依次输入10个整数:0 1 2 3 4 5 6 7 8 9

单链表输出结果:9 8 7 6 5 4 3 2 1 0

单链表删除5位置数据后输出结果:9 8 7 6 4 3 2 1 0

代码实现:不带头点的单链表

*/#include 
#include
// 定义单链表数据结构 typedef struct list_node{ int data; struct list_node *next;}list_node;// 增加int insert_link_list(list_node **list, int data){ if(list == NULL) return -1; list_node *node = (list_node *)malloc(sizeof(list_node)); // 分配内存失败 if(node == NULL) return -1; node->data = data; node->next = NULL; // 对于空表特殊处理 if(*list == NULL) { *list = node; }else { // 头插法插入 // 输出顺序和输入相反 node->next = *list; *list = node; } return 0;}// 删除指定位置 int delete_link_list(list_node **list, int *data, int pos){ if(list==NULL || pos < 1) return -1; // 空表 if(*list == NULL) return -1; list_node *p = *list; // 如果删除的是第一个位置元素 if(pos == 1) { *list = (*list)->next; free(p); }else { // 循环找到要删除的元素前一个位置 int i; for(i=1; i < pos-1 && p != NULL; i++) p = p->next; // 找到该位置 if(i==pos-1 && p != NULL) { list_node *q = p->next; if(q != NULL) { *data = q->data; p->next = q->next; free(q); } }else { return -1; } } return 0; }// 查看 void print_link_list(list_node *list){ if(list != NULL) { list_node *p = list; while(p != NULL) { printf("%d ", p->data); p = p->next; } printf("\n"); } } // 销毁void free_link_list(list_node **list){ if(list != NULL) { list_node *p = *list; while(p != NULL) { *list = p->next; free(p); } *list = NULL; }} int main(void){ list_node *list = NULL; int n,d; printf("请输入数据总个数:"); scanf("%d", &n); printf("请依次输入%d个整数:", n); int i; for(i=0; i

其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。

你可能感兴趣的文章
在Eclipse中调试Jetty应用的配置(XML配置文件方式)
查看>>
Ext-3.1.0下组件中按钮居中问题的记要
查看>>
MacOS下使用screen命令运行后台程序
查看>>
东北人的幽默,《红男绿女》中经典对白,看过的人都明白
查看>>
印象后海
查看>>
看了这54句,你就看懂了人性
查看>>
PowerDesigner数据模型设计拾遗
查看>>
从Spring MVC扩展中学习OO设计(一)
查看>>
八招赚钱方法
查看>>
70个面试技巧,很实用哦
查看>>
Communication - The cardigans
查看>>
晒书名:已收藏O'Reilly出版社‘动物世界’系列图书(一)
查看>>
晒书名:已收藏O'Reilly出版社‘动物世界’系列图书(二)
查看>>
从银行WebService报文接口系统中,学习敏捷设计
查看>>
区分IE和Firefox浏览器的CSS样式写法
查看>>
2009语录
查看>>
歌剧威尔第《弄臣》女人善变无常 唱词 Verdi: La donna è mobile
查看>>
数据仓库学习网站及图书
查看>>
工资就像大姨妈
查看>>
Superheroes - Edguy 歌词
查看>>