数据结构小结

1、顺序表

顺序表的定义

  #define MaxSize 100

  ElemType Sqlist[MaxSize];

  int len;

相当于 int a[100];

动态生成一张顺序表的方法可描述如下:

#define MaxSize 100

typedef struct{

ElemType *elem;

int length;

int listsize;

}Sqlist;

void initSqlist(Sqlist *L){//初始化一张顺序表

L->elem=(int *)malloc(MaxSize*sizeof(ElemType));

if(!L->elem) exit(0);

L->length=0;

L->listsize=MaxSize;

}

向静态顺序表中第i个位置插入数据

void InserElem(ElemType Sqlist[],int &n,int i,ElemType item){

//向顺序表Sqlist中第i个位置插入元素item,该顺序表的原长度为n

int t;

if(n==MaxSize||i<1||i>n+1) exit(0);

for(t=n-1;t>=i-1;t--)

{

  Sqlist[t+1]=Sqlist[t];//后移元素

}

Sqlist[i-1]=item;

n=n+1;//表长加1

}

向动态顺序表中第i个位置插入元素item

void InsertElem(Sqlist *L, int i, ElemType item)

{

  ElemType *base,*insertPtr,*p;

  if(i<1||i>L->length+1)exit(0);//非法插入

  if(L->length>=L->listsize)

  {

    base=(ElemType*)realloc(L->elem,(L->listsize+10)*sizeof(ElemType));//追加新空间

    L->elem=base;

    L->listsize=L->listsize+10;//存储空间加10

  }

insertPtr=&(L->elem[i-1]);

for(p=&(L->elem[L->length-1]);p>=insertPtr;p--)

*(p+1)=*p;

*insertPtr=item;

L->length++;

}

数据结构小结,码迷,mamicode.com

时间: 2024-11-06 03:53:50

数据结构小结的相关文章

前端中常见数据结构小结

常见数据结构的 JavaScript 实现系列 栈 队列 链表 集合 字典 哈希表 二叉树 图 前端与数据结构 数据结构在开发中是一种编程思想的提炼,无关于用何种语言开发或者是哪种端开发.下列将笔者涉猎到的与前端相关的数据结构案例作如下总结: 数据结构 案例 栈 FILO: 其它数据结构的基础,redux/koa2 中间件机制 队列 FIFO:其它数据结构的基础 链表 React 16 中的 Fiber 的优化 集合 对应 JavaScript 中的 Set 字典 对应 JavaScript 中

第八章学习小结

第八章数据结构小结数据结构这一章主要讲的是关于排序的各种方法,由于不同应用对于时间复杂度与空间复杂度的要求不同,用的排序方法也不同,主要的排序方法有插入排序,交换排序,选择排序与归并排序,其中插入排序分为直接插入排序,间接插入排序与希尔排序,交换排序分为冒泡排序与快速排序,选择排序分为简单选择排序与堆排序,而归并排序则主要用于两个有序表的合成.以上的排序方法都属于是内部排序,而对于一些更大量的数据就要涉及到外部排序,下面是关于排序的应用习题. 给定公司N名员工的工龄,要求按工龄增序输出每个工龄段

Domino数据源

Domino应用程序实际上是一种特护类型的数据库,允许将应用程序作为Domino文档进行存储. 一个Domino文档将数据存放在一系列域中,,每一个域都有自己的数据类型. 表单用于描述文档的数据结构 小结:表单设计元素用来定义文档的内容,比如myTopic中的表单选择. 视图设计元素是NOTES用来管理文档的集合  显示时间日期  删除 添加 xpages是NOTES/DOMINOX新的web应用开发框架. 在本地测试中要关闭domino服务器,使用quit命令.

tree-form data structure summary

树形数据结构小结 一.      说明 小结中包括Binary Tree.Binary search tree.buildable tree.AVL tree.Splay tree.Tries.B-trees.主要对这些学过的树形数据结构做一个简单的总结概括,可能不是很全面,但可作为复习参考.(还没写完,这两天尽量更完吧) 二.      正文 1)          Binary_trees: ①   定义:空树或者父节点具有之多两个孩子节点的树 ②   概念: ·       完全二叉树:除

《TCP-IP详解卷2:实现》【PDF】下载

<TCP-IP详解卷2:实现>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062539 内容简介 <TCP/IP详解·卷2:实现>完整而详细地介绍了TCP/IP协议是如何实现的.书中给出了约500个图例,15000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现.<TCP/IP详解·卷2:实现>不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别.还介绍了4.4BSD-Lite版的新

TCP-IP详解 卷2 :实现 pdf下载

一共分为三卷的书,好多的内容,泛读了一下,力推. 需要学习的朋友可以通过网盘免费下载pdf版 (先点击普通下载-----再选择普通用户就能免费下载了): http://putpan.com/fs/byi8beens3hu9e904/ <TCP/IP详解·卷2:实现>完整而详细地介绍了TCP/IP协议是如何实现的.书中给出了约500个图例,15000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现.<TCP/IP详解·卷2:实现>不仅说明了插口API和协议族的关系以及

数据结构 第一章学习小结

数据结构   第一章学习小结 1.数据结构第1章的心得体会: 这周学习了数据结构的绪论及第一章.初步了解了数据结构与算法的相关概念,一开始看书看视频时觉得还挺抽象的,不能够完全理解.但是反复多看了几遍之后,结合例题,自己去操作去跑代码,慢慢觉得容易理解接受起来了.由于现在以网课形式进行教学,老师上课的同时基本还是靠自己去理解学习.当然老师也发挥很大的作用,比如让我们更深入的了解递归的空间复杂度为什么与问题规模有关,又怎样去找到该函数的临界值等等.既锻炼了我们深入思考的能力,也让我们更加清楚了解不

数据结构专题小结:并查集

并查集 并查集的作用是快速判断两个数是否属于同一类的数据结构,不过除此之外,它还可以实现合并u和v所在的组.下面给出并查集的一系列操作的实现. #define N 100 int par[N]; int rnk[N]; void init(int n)//初始化n个元素 { for (int i = 0; i < n; i++) { par[i] = i; rnk[i] = 0; } } int find(int x)//查询树的根 { return par[x] == x ? x : par[

数据结构专题小结:RMQ问题

RMQ问题 范围最小值问题(Range Minimum Query)是指:给定一个n个元素的数组A[1],A[2]...A[n].设计一个数据结构,支持查询操作Query(L,R):计算min{A[L],A[L+1]...A[R]}. 该问题在实践中常用Tarjan的Sparse-Table算法.它的预处理时间是O(N*logN),但查询只需要O(1),而且常数非常小.最重要的是,这个算法非常好写,而且不易写错. (1)原理:该算法利用了分治法的思想,令d(i,j)表示从i开始的,长度为2^j的