当前位置: 首页 > news >正文

互联网服务平台登录安阳网站制作优化

互联网服务平台登录,安阳网站制作优化,酒泉市建设局网站招标办,黑龙江网站建设工作室文章目录 一、线性表二、顺序表顺序表和数组的区别顺序表的分类1.静态顺序表2.动态顺序表 三、动态顺序表的实现1.动态顺序表头文件2.动态顺序表源文件3.测试源文件 一、线性表 线性表#xff08;linear list#xff09;是n个具有相同特性的数据元素的有限序列。线性表是⼀种… 文章目录 一、线性表二、顺序表顺序表和数组的区别顺序表的分类1.静态顺序表2.动态顺序表 三、动态顺序表的实现1.动态顺序表头文件2.动态顺序表源文件3.测试源文件 一、线性表 线性表linear list是n个具有相同特性的数据元素的有限序列。线性表是⼀种在实际中⼴泛使 ⽤的数据结构常⻅的线性表顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构也就说是连续的⼀条直线。但是在物理结构上并不⼀定是连续的 线性表在物理上存储时通常以数组和链式结构的形式存储 二、顺序表 顺序表和数组的区别 顺序表的底层结构是数组对数组的封装实现了常⽤的增删改查等接口 顺序表的分类 1.静态顺序表 概念使⽤ 定⻓数组 存储元素 静态顺序表缺陷空间给少了不够⽤给多了造成空间浪费 2.动态顺序表 动态顺序表就是动态分配内存可以根据需求调节数组大小 三、动态顺序表的实现 实现的主要思想 1.初始化顺序表先初始化arr为NULLsize为0capacity为0 2.销毁顺序表顺序表使用完成之后把arr动态分配的内存释放掉 3.扩容顺序表在每次插入数据之前必须先检查是否空间充足不足则开辟更大的空间 4.增删查改顺序表围绕数组去做即可比较简单。增头插尾插指定位置插入删包括头删尾删指定位置删除查找数据。 1.动态顺序表头文件 #pragma once #define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h #include stdlib.h #include assert.h // 动态顺序表 // 按需申请 typedef int SLDateType;typedef struct SeqList {SLDateType* arr;int size;//有效数据个数int capacity;//空间大小 }SL;void SLInit(SL* ps);//顺序表的初始化 void SLDestroy(SL* ps);//顺序表的销毁 void SLPrint(SL* ps);//顺序表的打印void SLCheckCapacity(SL* ps);//扩容//头部插入删除 / 尾部插入删除 void SLPushFront(SL* ps, SLDateType x); void SLPushBack(SL* ps, SLDateType x);void SLPopFront(SL* ps); void SLPopBack(SL* ps);//指定位置之前插入/删除数据 void SLInsert(SL* ps, int pos, SLDateType x); void SLErase(SL* ps, int pos);//查找数据 int SLFind(SL* ps, SLDateType x);2.动态顺序表源文件 #include Seqlist.h //初始化 void SLInit(SL* ps) {ps-arr NULL;ps- size 0;ps-capacity 0; } //销毁 void SLDestroy(SL* ps) {if (ps-arr){free(ps-arr);}ps-arr NULL;ps-size 0;ps-capacity 0; }//打印 void SLPrint(SL* ps) {for (int i 0; i ps-size; i){printf(%d , ps-arr[i]);}printf(\n); }//扩容 void SLCheckCapacity(SL* ps) {if (ps-size ps-capacity){//申请空间int NewCapacity ps-capacity 0 ? 4 : 2 * ps-capacity;SLDateType* tmp (SLDateType*)realloc(ps-arr, NewCapacity * sizeof(SLDateType));if (tmp NULL){perror(realloc fail!);exit(1);//直接退出程序}ps-arr tmp;ps-capacity NewCapacity;} }//头部插入 void SLPushFront(SL* ps, SLDateType x) {assert(ps);SLCheckCapacity(ps);for (int i ps-size-1;i 0;i--){ps-arr[i 1] ps-arr[i];}ps-arr[0] x;ps-size; }//尾部插入 void SLPushBack(SL* ps, SLDateType x) {assert(ps);SLCheckCapacity(ps);ps-arr[ps-size] x; }//头部删除 void SLPopFront(SL* ps) {assert(ps);assert(ps-size);for (int i 0;i ps-size-1;i){ps-arr[i] ps-arr[i 1];}ps-size--; }//尾部删除 void SLPopBack(SL* ps) {assert(ps);assert(ps-size);ps-size--; }//在指定位置之前插入数据 void SLInsert(SL* ps, int pos, SLDateType x) {assert(ps);assert(pos 0 pos ps-size);SLCheckCapacity(ps);for (int i ps-size-1;i pos;i--){ps-arr[i1] ps-arr[i];}ps-arr[pos] x;ps-size; }//指定位置之前删除数据 void SLErase(SL* ps, int pos) {assert(ps);assert(pos 0 pos ps-size);for (int i pos;i ps-size-1;i){ps-arr[i] ps-arr[i 1];}ps-size--; }//查找数据 int SLFind(SL* ps, SLDateType x) {assert(ps);for (int i 0; i ps-size; i){if (ps-arr[i] x){return i;}}return -1; }3.测试源文件 最后可以在创建一个测试源文件去测试顺序表的正确性 #include Seqlist.hvoid test() {SL s1;//测试初始化SLInit(s1);//测试尾部插入SLPushBack(s1, 1);SLPushBack(s1, 2);SLPushBack(s1, 3);SLPushBack(s1, 4);SLPushBack(s1, 5);//测试打印SLPrint(s1);//测试头部插入/*SLPushFront(s1, 9);SLPushFront(s1, 8);SLPushFront(s1, 7);SLPushFront(s1, 6);SLPushFront(s1, 66);*///测试头删/*SLPopFront(s1);SLPrint(s1);SLPopFront(s1);SLPrint(s1);SLPopFront(s1);SLPrint(s1);SLPopFront(s1);SLPrint(s1);SLPopFront(s1);SLPrint(s1);SLPopFront(s1);SLPrint(s1);*///测试尾删/*SLPopBack(s1);SLPrint(s1);SLPopBack(s1);SLPrint(s1);SLPopBack(s1);SLPrint(s1);SLPopBack(s1);SLPrint(s1);SLPopBack(s1);SLPrint(s1);SLPopBack(s1);SLPrint(s1);*///测试在指定位置之前插入数据/*SLInsert(s1, 3, 8);SLPrint(s1);*///测试在指定位置之前删除数据/*SLErase(s1, 1);SLPrint(s1);*///测试查找int find SLFind(s1, 3);if (find ! -1){printf(找到了下标为%d\n, find);}else{printf(没有找到\n);}//测试销毁SLDestroy(s1); }int main() {test();return 0; }
http://www.tj-hxxt.cn/news/136106.html

相关文章:

  • 中小企业网站建设效果企业网站的主要内容
  • 平面设计网站源码公司网站建设图片素材怎么找
  • 十大家居家装网站哪个好网站建设脑图
  • 怎么咨询网络服务商深圳网站建设制作优化
  • 国内电子商务网站有哪些建设一个网站需要哪些
  • 企业网站主要功能网络推广方法有几种
  • 网站建设制作设计公司公司logo墙设计图片
  • 网站设计的逻辑河北高端网站设计
  • 网站建设网站模版广告网站模板下载 迅雷下载安装
  • 淘宝网站可以做轮播吗个人网站 创意
  • 室内设计网站配色app广州的服装网站建设
  • 杭州企业网站建站模板网站运营单位是什么意思
  • 网站升级停止访问如何做中华会计网校
  • 做自己的网站能赚钱吗网站基础建设英文
  • WordPress多语言多站点详情页设计详细教程
  • 35互联做网站怎么样360广告推广平台
  • 西安商城类网站制作首选大型网站建站公司
  • 可以做笔记的网站网站建设原因
  • 天津建设注册执业中心网站企业宣传片策划团队
  • 网站源码下载 用户注册天津建站服务
  • dw网站模版wordpress如何把文章
  • 北京住房城乡建设厅网站南京网站开发南京乐识赞
  • 网站设计与网页制作岗位招聘信息种植园网站模板
  • 已有的网站如何做排名优化山东网站建设都有那些
  • 建站网站模板做网站用什么面板好
  • 企业官方网站建设推广软件哪个好
  • 小公司网站用什么服务器划算深圳建网站制作维护
  • 建设网站需要什么设备智能网站建设加工
  • wap网站建设设计西安企业查询
  • 电影订票网站怎么做动漫网站设计模板