Data Structure(1-6)---单链表的整表创建
来源:互联网 发布:spss22 mac版教程 编辑:程序博客网 时间:2024/05/23 15:08
单链表的创建过程就是一个动态生成链表的过程。即从“空表”的初始化状态起,依次建立各元素结点,并逐个插入链表。
单链表整表创建的算法思路:
- 声明一指针p和计数器变量i;
- 初始化一空链表L;
- 让L的头结点的指针指向NULL,即建立一个带头结点的单链表;
循环:
- 生成一新结点赋值给p;
- 随机生成一数字赋值给p的数据域p->data;
- 将p插入到头结点与前一新结点之间。
/*随机产生n个元素的值,建立带头结点的单链线性表L(头插法)*/void CreateListHead(LinkList *L,int n){ LinkList p; int i; srand (time(0)); /*初始化随机数种子*/ *L=(LinkList)malloc(sizeof(Node)); (*L)->next=NULL; /*先建立一个带头结点的单链表*/ for(i=0;i<n;i++) { p= (LinkList)malloc(sizeof(Node)); /*生成新结点*/ p->data=rand()%100+1; /*随机生成100以内的数字*/ p->next=(*L)->next; (*L)->next=p; /*插入到表头*/ }}
/*随机产生n个元素的值,建立带头结点的单链线性表L(尾插法)*/void CreateListTail(LinkList *L,int n){ LinkList p,r; int i; srand (time(0)); /*初始化随机数种子*/ *L=(LinkList)malloc(sizeof(Node)); r=*L; /*r为指向尾部的结点*/ for(i=0;i<n;i++) { p= (Node *)malloc(sizeof(Node)); /*生成新结点*/ p->data=rand()%100+1; /*随机生成100以内的数字*/ r->next=p; /*将表尾终端结点的指针指向新结点*/ r=p; /*将当前新结点定义为表尾终端结点*/ } r->next=NULL; /*表示当前链表结束*/}
0 0
- Data Structure(1-6)---单链表的整表创建
- Data Structure(1-7)---单链表的整表删除
- Data Structure(1-4)---单链表的读取
- Data Structure(1)---线性表
- Data Structure(1-5)---单链表的插入与删除
- Data Structure(1-2)---线性表的顺序存储结构
- Data Structure(1-3)---线性表的链式存储结构
- Data Structure(1)
- C++ Data Structure 1
- Data Structure导论的导论
- Data Structure
- Data structure
- Data Structure
- Data structure
- Data structure
- data structure
- Data Structure
- Data structure
- stm32+neo6m GPS模块定位系统
- 树莓派python,tornado,返回json数据代码,初级网络编程。
- iOS框架介绍——M字头
- 最简单的matplotlib安装和使用
- jquery 的ajax 用法
- Data Structure(1-6)---单链表的整表创建
- Android 反射实战 - 更换APP皮肤<2>
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- UART0串口编程系列 串口编程(UART0)之中断方式(一)
- C# 反射 通过类名创建类实例
- 使用系统时间作为创建的文件名
- iOS 分享功能开发
- c++实现的快速排序算法
- 纯文本转超文本