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

dw网站建设教程视频网站建设原则五大原则

dw网站建设教程视频,网站建设原则五大原则,郑州百度快照优化排名,广告投放代理商加盟前言#xff1a;还记得前面的文章#xff1a;《通讯录的实现》吗#xff1f;通讯录的完成就借助了顺序表这种数据结构#xff01;#xff01;#xff01;那么今天我们就来介绍我们的顺序表介绍顺序表前#xff0c;我们来了解一下线性表的概念线性表#xff1a;线性表还记得前面的文章《通讯录的实现》吗通讯录的完成就借助了顺序表这种数据结构那么今天我们就来介绍我们的顺序表介绍顺序表前我们来了解一下线性表的概念线性表线性表linear list是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构常见的线性表顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构也就说是连续的一条直线。但是在物理结构上并不一定是连续的线性表在物理上存储时通常以数组和链式结构的形式存储。顺序表什么是顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表可动态增长的数组要求数据是连续存储的顺序表的分类一、静态顺序表typedef int SLDataType;typedef struct SeqList {SLDataType array[N]; //定长数组size_t size; //有效数据个数 }SeqList;由上述代码我们可以很清楚的看出这个顺序表使用定长数组进行存储数据。我们也很容易发现这个静态的顺序表有一个十分大的缺陷数组的大小不确定如果你的N给小了那么就会不够用如果你的N给大了又会造成浪费所以我们如果使用顺序表就应该使用动态的顺序表二、动态顺序表typedef int SLDataType; //类型重命名后续要存储其它类型时方便更改typedef struct SeqList {SLDataType* SLD; //指向动态开辟的数组size_t size; //有效数据个数size_t capacity; //容量大小 }SeqList; 动态顺序表的实现初始化顺序表void SeqListInit(SeqList* psl) {assert(psl);psl-SLD NULL; psl-size 0; psl-capacity 0; }销毁顺序表void SeqListDestory(SeqList* psl) {assert(psl ! NULL); free(psl-SLD); psl-SLD NULL; psl-size 0; psl-capacity 0; }检查顺序表容量是否满了好进行增容void CheckCapacity(SeqList* psl) {assert(psl ! NULL); if (psl-size psl-capacity) {size_t newcapacity; if (psl-capacity 0)newcapacity psl-capacity 4; elsenewcapacity 2 * psl-capacity; SLDataType* p (SLDataType*)realloc(psl-SLD, newcapacity * sizeof(SLDataType)); if (p NULL){perror(realloc);exit(-1);}psl-SLD p; psl-capacity newcapacity; } }顺序表尾插void SeqListPushBack(SeqList* psl, SLDataType x) {assert(psl ! NULL); CheckCapacity(psl); psl-SLD[psl-size] x; psl-size; }顺序表尾删void SeqListPopBack(SeqList* psl) {assert(psl ! NULL); assert(psl-size 0); psl-size--; }顺序表头插void SeqListPushFront(SeqList* psl, SLDataType x) {assert(psl); CheckCapacity(psl); int i 0;for (i psl-size - 1; i 0; i--) {psl-SLD[i 1] psl-SLD[i];}psl-SLD[0] x; psl-size; }顺序表头删void SeqListPopFront(SeqList* psl) {assert(psl); assert(psl-size 0); int i 0;for (i 1; i psl-size; i) {psl-SLD[i - 1] psl-SLD[i];}psl-size--; }打印顺序表void SeqListPrint(const SeqList* psl) {assert(psl ! NULL); if (psl-size 0) {printf(顺序表为空\n);return;}int i 0;for (i 0; i psl-size; i) {printf(%d , psl-SLD[i]);}printf(\n); }在顺序表中查找指定值int SeqListFind(const SeqList* psl, SLDataType x) {assert(psl); int i 0;for (i 0; i psl-size; i){if (psl-SLD[i] x){return i; }}return -1; } 在顺序表指定下标位置插入数据void SeqListInsert(SeqList* psl, size_t pos, SLDataType x) {assert(psl); assert(pos 0 pos psl-size); CheckCapacity(psl); size_t i 0;for (i psl-size; i pos; i--) {psl-SLD[i] psl-SLD[i - 1];}psl-SLD[pos] x; psl-size; }在顺序表中删除指定下标位置的数据void SeqListErase(SeqList* psl, size_t pos) {assert(psl); assert(psl-size 0); assert(pos 0 pos psl-size); size_t i 0;for (i pos 1; i psl-size; i) {psl-SLD[i - 1] psl-SLD[i];}psl-size--; }查看顺序表中数据个数size_t SeqListSize(const SeqList* psl) {assert(psl); return psl-size; }修改指定下标位置的数据void SeqListAt(SeqList* psl, size_t pos, SLDataType x) {assert(psl); assert(psl-size 0); assert(pos 0 pos psl-size); psl-SLD[pos] x; }
http://www.hkea.cn/news/14418653/

相关文章:

  • 海北高端网站建设多少钱wordpress版面混乱
  • 网站静态页面做网站网站关键字描述
  • 快速搭建网站 开源怎样做招聘网站
  • 丹东商城网站建设logo在线设计生成器app
  • 长沙seo网站排名优化免费网站空间哪个好
  • 2018淘宝客网站开发福建省头条新闻
  • 企业网站建设基本步骤郑州网站搜索排名
  • 景德镇市场建设局网站应用开发工程师
  • 网站建设方向论文提纲服务商标是什么意思
  • 广告制作公司网站建设模板手机怎么连接海外线路
  • 沈阳网站的建设软装设计公司名称
  • 东营考试信息网官网seo推广技巧
  • 个人网站的设计与实现主要技术指标下载app软件到手机
  • 如何建设网站兴田德润在那里苏州建设局官方网站
  • 做外贸的国际网站有哪些内容长沙 服务
  • 关于建设网站的情况说明书网站分几类
  • 电子商务网站建设 概念搭建网页平台
  • 成都专业网站建设深圳创业补贴需要什么条件
  • 做简历用的网站短视频推广渠道
  • 网站 目录结构网站全站开发
  • eclipse开发网站用vue做前端济南住宅与房地产信息网官方网站
  • 个人域名可以备案企业网站吗提供网站建设工具的品牌有哪些
  • 如何让商家建设网站网站后台ftp替换图片怎么做
  • 著名网站织梦建立什么船籍港
  • 旅游电子商务网站的建设方式网站制作算什么费用
  • 南宁网站建设方案详细做包装设计的网站有哪些
  • 网站开发的甘特图鲁山网站建设兼职
  • 优化网站公司哪家口碑好wordpress摘要插件
  • 南京公司网站网络架构种类
  • 罗琳做的网站对网站建设课程的心得体会