什么是数据结构?

简单的理解就是**数据与数据的关系**。(结构即关系)

有多少种关系?

4种关系:
1、 集合(数据不能重复)
2、 线性关系(除首元素无前躯,尾元素无后继外,其他元素均有唯一的前驱和后继 不能出现空缺 1:1)
3、 树(1 :n)
4、 图 (n :n)

顺序表——增删查改

#define SEQ_INIT_SIZE 10
#define SEQ_INC_SIZE 2
typedef int ElemType;
typedef struct
{ElemType *data;int maxsize;int cursize;
}SeqList;//初始化线性表
void Init_SeqList(SeqList mylist)
{mylist.maxsize = SEQ_INIT_SIZE;mylist.cursize = 0;mylist.data=(ElemType *)malloc(sizeof(ElemType)*mylist.maxsize);
}void Destroy_SeqList(SeqList mylist)
{mylist.maxsize = 0;mylist.cursize = 0;free(mylist.data);mylist.data = NULL; //一定要将失效指针指向空。
}//在任意位置插入一个元素
bool Insert_Pos(SeqList mylist, int index, ElemType val)
{if (index < 0 || index > mylist.cursize){return false;}if (mylist.cursize== mylist.maxsize){mylist.maxsize= mylist.maxsize  * SEQ_INC_SIZE;}for (int i = mylist.cursize; i > index; --i){mylist.data[i] = tlist.data[i - 1];}mylist.data[index] = val;mylist.cursize += 1;return true;
}//在尾部插入一个元素
void push_back(SeqList mylist, ElemType val)
{Insert_Pos(mylist, mylist.cursize, val);
}//在首部插入一个元素
void push_front(SeqList mylist, ElemType val)
{Insert_Pos(mylist, 0, val);
}//在任意位置插入n个元素
void Insert_full_n(SeqList mylist, int index, int num, ElemType val)
{for (int i = 0; i < num; i++){Insert_Pos(mylist, index, val);}
}
void Insert_full_ar(SeqList mylist, int index, ElemType *F, ElemType *L)
{ElemType *i = L-1;while (i != (F-1)){Insert_Pos(mylist, index, *i);i--;}
}int main()
{SeqList mylist;Init_SeqList(mylist);return 0;
}

数据结构------顺序结构相关推荐

  1. C++数据结构之顺序结构

    顺序结构 顺序栈(Sequence Stack) 顺序栈数据结构和图片 typedef struct {ElemType *elem;int top;int size;int increment; } ...

  2. 顺序结构实现【数据结构】

    虽然在数据结构当中是先出现的线性表,然后出现的是数组 一:线性表的顺序存储结构 顺序映象:用一组地址连续的存储单元依次存放线性表当中的数据元素 线性表的起始地址:线性存储第一个数据元素的地址,我们也称 ...

  3. 数据结构---二叉树的顺序结构及实现

    二叉树的顺序结构及实现 1. 二叉树的顺序结构 2. 堆的概念及结构 3. 堆的实现 3.1 堆向下调整算法 3.2 堆排序 3.2.1 堆排序完整代码 3.3 堆的插入 3.3.1 堆的向上排序算法 ...

  4. 数据结构--二叉树的顺序结构及实现

    文章目录 前言 堆 堆的概念以及结构 堆的搭建 堆的实现 前言 普通的二叉树是不适合用数组来存储的,因为这样会存在大量的空间浪费,但是完全二叉树却更适合用顺序结构存储. 堆 堆的概念以及结构 堆的概念 ...

  5. 【数据结构周周练】007顺序结构实现完全二叉树操作- 求编号i与j最近公共祖先结点

    树型结构是数据结构中学到的第一个一对多的结构,是非常重要的非线性结构,也是比较难的一个结构,由于一叉树是顺序表,三叉树比较复杂,最常用的是二叉树.从这次开始就带领大家走进树的世界. 目录 一.题目 二 ...

  6. 数据结构(顺序结构、链式结构、索引结构、散列结构)

    文章目录 1.概述 2.数据间逻辑关系 3.数据的存储结构(或物理结构) 3.1顺序结构 3.2链式结构 3.3索引结构 3.4散列结构 4.运算结构 1.概述 数据结构,就是一种程序设计优化的方法论 ...

  7. c语言构造一个空线性表l,数据结构线性表顺序结构的定义与实现C语言-Go语言中文社区...

    大家好,今天给大家总结了一下数据结构里面的线性表的顺序结构,顺序表表示的是用一组地址连续的存储单元依次存储线性表的数据元素,所以顺序结构的实现一般采用数组的方式来实现,存储空间也采用动态分配的方式.在 ...

  8. 从零开始学C语言数据结构 : 二叉树的顺序结构

    二叉树的顺序结构 1.树 1.1树的概念 1.2树的表示 1.3二叉树 2.二叉树的顺序结构 1.堆 2.堆的实现 2.1.向下调整 2.2堆的创建--向下调整实现 2.3建堆的时间复杂度 2.4堆的 ...

  9. 数据结构笔记(十二)-- 定长顺序结构的实现

    定长顺序结构的实现 一.定长顺序结构的概述 定长顺序结构 是类似于线性表的顺序存储结构,使用一组连续的存储单元存储串值的字符序列. 二.串的定长顺序存储表示 # define MAXSTRLEN 40 ...

最新文章

  1. Centos6.8防火墙配置
  2. php使用NuSoap产生webservice结合WSDL让asp.net调用
  3. 为什么不建议你用a.equals(b)判断对象相等
  4. Android Studio 中的FindBugs插件使用,轻松帮你发现Bug (转)
  5. Map的putAll方法踩坑实记(对象深拷贝浅拷贝)
  6. linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录
  7. java 饥饿现象,Java单例模式、饥饿模式代码实例
  8. 【转】c# 协变与抗变
  9. js中的new file_JS中的new操作符
  10. c#格式化字float_C#中的float关键字
  11. golang配置环境排坑
  12. word2003快速排版工具栏_技巧 | 快速又好看,PPT制作不再难
  13. 在linux系统下安装jdk
  14. java布尔方法_Java布尔方法返回
  15. python吧_如何自学Python?【python吧】
  16. linux 线程头文件,[填空题] 在Linux多线程编程时,需要包含头文件()。
  17. POJ_2823 Sliding Window(单调队列)
  18. Atitit usrQBF2312 命名空间pkg 以及 api命名 spec规范
  19. matlab实现一维数组求平均函数
  20. 【HAVENT原创】Spring RestTemplate 工具类

热门文章

  1. python数据分析知识体系_数据分析知识体系
  2. 【老码农的技术理想】
  3. thinkphp6下载汉字转拼音包以及其使用方法
  4. python怎么自动生成文档_用 Python 自动生成 Word 文档
  5. unity 人物走动声音_Unity3D实现人物走动
  6. 世上只有一种英雄主义,就是在认清生活真相之后依然热爱生活。
  7. 【深入浅出强化学习原理入门】高斯-赛德尔(Gauss-Seidel)迭代法
  8. uniapp的原生tabbar图片加载不出来
  9. [luogu] P2345 MooFest G 树状数组
  10. 以太网交换机性能测试丢包的原因