输入一组数,创建(带头节点)的单链表(头插法、尾插法)
来源:互联网 发布:桂正和m知乎 编辑:程序博客网 时间:2024/06/09 23:12
仅仅是简单的实现,没有考虑程序的鲁棒性…
#include <stdio.h>#include <stdlib.h>typedef struct node{ int data; struct node *next;} NODE;// 尾插法(带头节点)NODE *create_end(){ NODE *head = (NODE *)malloc(sizeof(NODE)); head->next = NULL; NODE *end = head; int temp; scanf("%d",&temp); while (temp != 999) { // 当输入999时,表示链表数据输入完毕。 NODE *p = (NODE *)malloc(sizeof(NODE)); p->data = temp; end->next = p; end = p; scanf("%d",&temp); } end->next = NULL; return head;}// 头插法(带头节点)NODE *create_head(){ NODE *head = (NODE *)malloc(sizeof(NODE)); head->next = NULL; int temp; scanf("%d",&temp); while (temp != 999) { // 注意:头插法所创建的链表,数据顺序和输入是相反的; NODE *p = (NODE *)malloc(sizeof(NODE)); p->data = temp; p->next = head->next; head->next = p; scanf("%d",&temp); } return head;}// 单链表打印void print(NODE *head){ if (head == NULL) return; NODE *p = head->next; while (p != NULL) { printf("%d\n", p->data); p = p->next; }}int main(int argc, const char * argv[]) { NODE *head1 = create_end(); // 1 print(head1); NODE *head2 = create_head(); // 2 ,可将1、2分别注释,观察打印效果。 print(head2); return 0;}
1 0
- 输入一组数,创建(带头节点)的单链表(头插法、尾插法)
- 给定数组,创建(带头节点)的单链表(头插法、尾插法)
- 链表的创建(带头节点以及不带头节点)
- 单链表的实现(不带头节点)
- 带头节点的单链表
- 带头节点的单链表
- 带头节点的单链表
- 带头节点的单链表
- 头插法和尾插法建立带头节点的单链表
- C语言实现单链表节点的删除(带头结点)
- C语言实现单链表的节点插入(带头结点)
- 数据结构(一)单链表的基本操作(不带头节点)
- SlinkList(不带头节点的单链表)20171003
- 数据结构_单链表(带头节点)
- 带头节点链表的操作(链表的创建、删除、查找、逆转、打印等等)
- 带头节点和不带头节点的单链表的区别
- 带头节点单链表的实现
- 带头节点的单链表练习
- 链表——按k个结点一组来反转链表
- 【C#设计模式-状态模式】
- OpenUDID冲突的问题
- java enum 举例
- UVA_820_Internet Bandwidth
- 输入一组数,创建(带头节点)的单链表(头插法、尾插法)
- C#对于字符串的处理类(剪裁、过滤危险字符、替换sql中有问题符号等)
- iOS动画编程-2
- Redis CrackIT入侵事件分析
- Android知识点收集
- poj 1159 Palindrome -- 回文串,动态规划
- 优化eclipse编辑器,设置文本缩进
- app安装不上、Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
- Android Http请求方法汇总