线性表 - C语言完整实现】的更多相关文章

#include <stdio.h> #define false 0 #define true 1 #define MAXSIZE 20 typedef int bool; typedef int ElementType; struct ListNode { ElementType Data[MAXSIZE]; int length; // 线性表的长度 }; typedef struct ListNode List; typedef struct ListNode *PtrToList; /…
线性表的定义:N个数据元素的有限序列 线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表) 顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an) 链式存储结构:是用一段一段连续的内存空间存储表中每一行的数据,段与段之间通过一个引用(指针)相互连接来,形成一个链式的存储结构 看到顺序存储结构的图示,我们可能会马上联想到C语言的数组.是的,数组就是一种典型的顺序存储数据结构.下面我通过一个实例,来实现对顺序存储结构中的数据增.删.改.查的操作. 首…
一.简述 [暂无] 二.头文件 #ifndef _2_3_part1_H_ #define _2_3_part1_H_ //2_3_part1.h /** author:zhaoyu email:zhaoyu1995.com@gmail.com date:2016-6-4 note:realize my textbook <<数据结构(C语言版)>> */ //----线性表的单链表存储结构---- /** My Code to make the paragram run corr…
注意: 虽然是用C语言实现,但是考虑到使用了一个C++的特性----引用以简化代码,所以所有的代码均以cpp作为后缀,用g++编译(以后不做说明). g++版本: 一.简述 本节主要讲述线性表的顺序实现,主要操作包括建表,插入元素,删除元素,查找元素,合并表等操作,根据书中伪代码编写了C语言,使用int类型进行了测试,需要注意的是查找元素时使用了函数指针,C语言初学者不易理解,可查阅相关书籍学习. 二.头文件 //head.h /** My Code */ #include <cstdio>…
链表的简单介绍 为什么需要线性链表 当然是为了克服顺序表的缺点,在顺序表中,做插入和删除操作时,需要大量的移动元素,导致效率下降. 线性链表的分类 按照链接方式: 按照实现角度: 线性链表的创建和简单遍历 算法思想 创建一个链表,并对链表的数据进行简单的遍历输出. 算法实现 # include <stdio.h> # include <stdlib.h> typedef struct Node { int data;//数据域 struct Node * pNext;//指针域 ,…
线性表是最常用且最简单的一种数据结构.一个线性表是n个数据元素的有限序列,序列中的每个数据元素,可以是一个数字,可以是一个字符,也可以是复杂的结构体或对象.例如:1,2,3,4,5是一个线性表,A,B,C,D...Z是一个线性表,一列列车的车厢1,车厢2...车厢n是一个线性表. 线性表的机内表示法(又称存储结构)有2种,一种是顺序存储结构,另一种是链式存储结构. 顺序存储结构,顾名思义就是按顺序来存储的一种存储结构,比如线性表(1,2,3,4,5),共计5个元素,每个int型的数据元素假设占用…
栈与队列都是具有特殊存取方式的线性表,栈属于先进后出(FILO),而队列则是先进先出(FIFO).栈能够将递归问题转化为非递归问题,这是它的一个重要特性.除了FILO.FIFO这样的最普遍存取方式外,还有一些扩展的数据结构,如双端队列.双栈.超队列.超栈等,它们是一种扩展与变异结构. 线性表有顺序存储和链接存储两类,这是针对计算机的线性存储空间作出的分类.前者可以是数组,后者可以是链表.字符串是线性表最常见的应用. 这里我用C语言实现了一个基于数组环形队列,它具有固定的队列空间.相比于链表实现,…
1.数据结构-顺序线性表的实现-C语言 #define MAXSIZE 100 //结构体定义 typedef struct { int *elem; //基地址 int length; //结构体当前长度 int listsize; //结构体最大长度 } Sqlist; //结构体类型名 //各项操作 void Show_Help() { printf("1---初始化线性表\n"); printf("2---销毁线性表\n"); printf("3-…
逻辑结构上呈线性分布的数据元素在实际的物理存储结构中也同样相互之间紧挨着,这种存储结构称为线性表的顺序存储结构. 也就是说,逻辑上具有线性关系的数据按照前后的次序全部存储在一整块连续的内存空间中,之间不存在空隙,这样的存储结构称为顺序存储结构. 使用顺序存储结构存储的数据,第一个元素所在的地址就是这块存储空间的首地址.通过首地址,可以轻松访问到存储的所有的数据,只要首地址不丢,数据永远都能找着(一根绳上的蚂蚱,要有就都有). 使用线性表的顺序存储结构生成的表,称为顺序表.            …
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 100 typedef int ElemType; typedef struct{ ElemType data[MAXSIZE]; int length; }SqList; SqList *InitList(SqList *L);//初始化 void DestroyList(SqList *L);//销毁 void ClearList(SqList *L);//清空列表 i…