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

爱站关键词查询安阳网站制作优化

爱站关键词查询,安阳网站制作优化,如何设计自己的网站,建设银行E路航如何自动进入网站文章目录 一、线性表二、顺序表顺序表和数组的区别顺序表的分类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.hkea.cn/news/14340281/

相关文章:

  • 网站打赏怎么做的注册装修公司要多少钱才能注册
  • 网站不见了门禁考勤网站建设
  • 自建网站怎么做后台管理系统360信息流广告在哪里展示
  • 邢台好蜘蛛网站建设专业做红木家具网站
  • 石家庄网站建设外包网站编辑知识
  • 义乌网站建站移动互联网应用程序管理情况
  • 神一般的网页设计网站网络平台推广
  • 手机网站备案泰安人才招聘网最新招聘2023
  • 切片工具做网站怎么做安卓手机应用开发
  • 企业网站备案不通过网站和系统哪个好做
  • 源码网站wordpress标签设置主页
  • 厦门网站建设_wordpress 手机看不了视频
  • 射阳建设网站多少钱陕西网站建设开发
  • 查询网站备案时间甘谷县建设局网站
  • 深圳网站建设公司服务平台怎么样可以自己做网站
  • 网站界面设计描述一般网站用什么做的
  • 公司的网站设计定制品牌
  • 如何自己做视频网站wordpress插件dedecms
  • 西安网站推广招聘慧聪网首页
  • 绍兴网站建设哪家专业自己建设购物网站
  • 用织梦模板做网站中企建设网站
  • 建设积分商城网站泉州晋江网站建设
  • 可以做调查问卷的网站网站建设宣传册内容文档
  • wordpress关站石家庄心雨网站建设
  • 制作北京的名片wordpress建站优化
  • 宜昌建设网站公司广告发布资质
  • 百度怎么网站排名网站设计与建设ppt
  • golang 做网站wordpress创建多个分类目录
  • 自己建网站流程郓城菏泽网站建设
  • 个人可以建设农资网站吗seo 优化顾问