单链表操作(数据结构实验一)
来源:互联网 发布:learnx mac 编辑:程序博客网 时间:2024/06/07 19:55
实验内容
1 初始化一个带表头结点的单链表。
2 从表头不断插入结点建立一个带表头结点的单链表。设表中元素的类型为整型,元素值从键盘输入。
3 从表尾不断插入结点建立一个带表头结点的单链表。设表中元素的类型为整型,元素值从键盘输入。
4 打印一个带表头结点的单链表。
5 清空一个带表头结点的单链表。
代码:(只是把各个函数写好,并给出了调用方式,其他根据实验要求改就行了)
#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define M 100typedef int Etype; //定义单链表结点值的类型为整型typedef struct Node{ Etype data; //单链表中的数据域 struct Node *link; //单链表的指针域}Node;typedef Node *List; //定义单链表List BuildList1();List BuildList2();void PrintList(List first);void clear(List *first);//头插法建立链表List BuildList1(){ Node *L; Etype x,n; L = (Node *)malloc(sizeof(Node)); //申请头结点空间 L->link = NULL; //初始化一个空链表 printf("请输入元素个数:\n"); scanf("%d",&n); printf("请输入元素:\n"); //x为链表数据域中的数据 for(int i=0;i<n;i++) { scanf("%d",&x); Node *p; p = (Node *)malloc(sizeof(Node)); //申请新的结点 p->data = x; //结点数据域赋值 p->link = L->link; //将结点插入到表头L-->|2|-->|1|-->NULL L->link = p; } return L;}//尾插法建立链表List BuildList2(){ Node *L,*r; Etype n,x; L = (Node *)malloc(sizeof(Node)); //申请头结点空间 L->link = NULL; //初始化一个空链表 printf("请输入元素个数:\n"); scanf("%d",&n); r = L; //r始终指向终端结点,开始时指向头结点 printf("请输入元素:\n"); for(int i=0;i<n;i++) { scanf("%d",&x); Node *p; p = (Node *)malloc(sizeof(Node)); //申请新的结点 p->data = x; //结点数据域赋值 r->link = p; //将结点插入到表头L-->|1|-->|2|-->NULL r = p; } r->link = NULL; return L;}//输出链表void PrintList(List first){ Node *Li; if(first==NULL) { printf("链表为空!\n"); return; } Li=first->link; while(Li!=NULL) { printf("%d ",Li->data); Li=Li->link; } printf("\n");}//清空链表void clear(List *first){ Node *p=*first; while(*first) { p=(*first)->link; free(*first); *first=p; }}int main(){ Node *L; L=BuildList1(); //调用BuiltdList1(前插法)建立单链表算法 PrintList(L); //打印单链表 clear(&L);//清空单链表 L=BuildList2(); //调用BuiltdList2(后插法)建立单链表算法 PrintList(L); //打印单链表 clear(&L);//清空单链表}
0 0
- 单链表操作(数据结构实验一)
- 数据结构实验一____单链表操作
- 数据结构实验一--单链表的基本操作的算法
- (数据结构)实验一 线性表的有关操作
- 数据结构上机实验:单链表操作
- 《数据结构》实验一 (1)
- 《数据结构》实验一 (2)
- 《数据结构》实验一 (3)
- 数据结构实验一(1)
- 数据结构实验一(2)
- 数据结构实验报告(一)
- 爹地的实验:实验一: 数据结构实验一线性表的基本操作实现及其应用
- DSP 实验一(CCS操作实验)
- 《数据结构》实验一 实验报告
- 数据结构 实验一实验报告
- 数据结构实验一 实验报告
- 实验报告--数据结构实验一
- 数据结构实验一(实验报告)
- hibernate 延迟加载
- 一个jq投票,无论成功与否3秒后自动关闭提示框
- iOS七牛云存储
- arcgis基础(2)
- iOS8 Push Notifications
- 单链表操作(数据结构实验一)
- 《敏捷武士:看敏捷高手交付卓越软件》读书摘录
- java对象拷贝
- muleStudio与Maven集成
- Hibernate高级查询方法
- Cocos2dx-3.2编译错误error C1083: 无法打开包括文件: “extensions/ExtensionMacros.h”: No such file or directory
- Android中ZXing简单使用
- Log4j配置很详细
- 各种内部排序java实现