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

滨州五学一做考试网站南阳网站

滨州五学一做考试网站,南阳网站,国内建网站费用,saas建站平台介绍目录 1. 基本概念 2.线性表的基本操作 3.顺序表 #xff08;1#xff09;.静态分配 #xff08;2#xff09;.动态分配 #xff08;3#xff09;.顺序表的插入与删除#xff08;以静态分配为例#xff09;#xff08;示例代码中包含了一下必要的基本函数#xf…目录 1. 基本概念 2.线性表的基本操作 3.顺序表 1.静态分配 2.动态分配 3.顺序表的插入与删除以静态分配为例示例代码中包含了一下必要的基本函数 4.按位序查找、按值查找 4.链表 1.单链表 i.单链表带头结点的定义 1. 基本概念 线性表 1.其中的各个元素数据类型相同。 2.元素之间有次序。 3.都有表头元素和表尾元素。 4.除了表头表尾每个元素都可以找到一个直接前驱和直接后继。 2.线性表的基本操作 表的从无到有 InitList(L)初始化一个线性表 DestroyList(L)销毁 。 ListInsert(L, i, e)插入在表L的第 i 处插入元素 e ListDelete(L, i, e)删除将表L的第 i 处元素删除并用 e 返回该被删除的元素 。 LocateElem(L, e)按值查找在表中查找特定关键字e 的元素返回的是e 的位序而非下标 GetElem(L, i)按位查找获取表中第 i 个元素的值 。 其他常规操作 Length(L)求表长度 PrintList(L)输出表的所有元素 Empty(L)判断表是否为空返回true or false 高度概括即为创销与增删改查 3.顺序表 以顺序存储方式储存数据的线性表 1.静态分配 #define MAX 10 //顺序表静态分配 class SqList { public:int data[MAX];int length; }; //初始化 void InitList(SqList l) {for(int i 0 ;i 10 ;i){l.data[i] 0;}l.length 0; } //打印所有元素 void PrintList(SqList l) {for (int i 0; i 10; i)cout 第 i 个数 l.data[i] endl; }//测验 void test01() {SqList l;InitList(l);PrintList(l); } 2.动态分配 #define InitSize 10 //顺序表动态分配 class SqList { public:int* data; //指示动态分配数组的指针int MaxSize; //指示最大容量int length; //指示当前长度 }; //初始化顺序表 void InitList(SqList l) {l.data new int[InitSize];l.MaxSize InitSize;l.length 0;for (int i 0; i l.MaxSize; i){l.data[i] 0;} } //增长数组空间 void IncreaseSize(SqList l, int len) {int* p l.data; //暂存原数组中的数据l.data new int[10 len]; //扩展新的数组for (int i 0; i l.length; i) //将原数据拷贝进新数组中{l.data[i] p[i];}l.MaxSize InitSize len; //修改数组的状态数据delete p; //将p释放 } //打印所有元素 void PrintList(SqList l) {for (int i 0; i 10; i)cout 第 i 个数 l.data[i] endl; }void test01() {SqList l;InitList(l);PrintList(l); } 3.顺序表的插入与删除以静态分配为例示例代码中包含了一下必要的基本函数 //插入 bool ListInsert(SqList l, int d, int e) {     if (l.length MAX)                        //首先要判断表是否已满、插入是否合法     {         cout 插入失败已达上限 endl;         return false;     }              if (d 1 || d l.length 1)     {         cout 插入失败,无直接前驱 endl;         return false;     }     for (int j l.length; j d; j--)         //将插入点之后的元素后移         l.data[j] l.data[j - 1];     l.data[d - 1] e;                          //插入因为d指的是第几个数在数组的换算中要减一     l.length;     return true; } //删除 bool ListDelete(SqList l, int d, int e) {     if (d 1 || d l.length)                   //判断删除的位置是否合法         return false;     e l.data[d - 1];                          //暂存删除掉的元素     for (int j d; j l.length; j)          //将被删除元素之后的元素前移         l.data[j - 1] l.data[j];              //此处必须是j dj-1被j覆盖若j d-1则下文的覆盖会变为j 被j1 覆盖而j1在最后有可能会超过数组的最大容量     l.length--;     return true; } 示例代码 #define MAX 10 //顺序表静态分配 class SqList { public:int data[MAX];int length; }; //初始化 void InitList(SqList l) {for (int i 0; i 10; i){l.data[i] 0;}l.length 0; } //打印所有元素 void PrintList(SqList l) {for (int i 0; i 10; i)cout 第 i 个数 l.data[i] endl; } //存入数据 void InputElem(SqList l, int e) {int i 0;while (i MAX){if (l.data[i] 0){l.data[i] e;l.length;break;}i;} } //获取顺序表长度 int GetLength(SqList l) {//cout l.length endl;return l.length; } //插入 bool ListInsert(SqList l, int d, int e) {if (l.length MAX) //首先要判断表是否已满、插入是否合法{cout 插入失败已达上限 endl;return false;}if (d 1 || d l.length 1){cout 插入失败,无直接前驱 endl;return false;}for (int j l.length; j d; j--) //将插入点之后的元素后移l.data[j] l.data[j - 1];l.data[d - 1] e; //插入因为d指的是第几个数在数组的换算中要减一l.length;return true; } //删除 bool ListDelete(SqList l, int d, int e) {if (d 1 || d l.length) //判断删除的位置是否合法return false;e l.data[d - 1]; //暂存删除掉的元素for (int j d; j l.length; j) //将被删除元素之后的元素前移l.data[j - 1] l.data[j]; //此处必须是j dj-1被j覆盖若j d-1则下文的覆盖会变为j 被j1 覆盖而j1在最后有可能会超过数组的最大容量l.length--;return true; }//查看情况 void CheckList(SqList l) {PrintList(l);cout 当前长度为 GetLength(l) endl; }//测验 void test01() {SqList l;InitList(l);//输入部分数据InputElem(l, 1);InputElem(l, 2);InputElem(l, 3);InputElem(l, 4);CheckList(l);//开始插入if(ListInsert(l, 3, 6))CheckList(l);//开始删除int a -1;if (ListDelete(l, 2, a))CheckList(l); } 4.按位序查找、按值查找 很简单不多赘述 //判断d的合法性 bool JugdeD(SqList l, int d) {if (d 1 || d l.length)return false;return true; }//按位序查找 int GetElem(SqList l, int d) {if (JugdeD(l, d))return l.data[d - 1];return 0; }//按值查找 int LocateElem(SqList l, int e) {for (int i 0; i l.length; i){if (l.data[i] e) //数组储存的数据若是类等复杂的数据类型则需要对等号进行重载return i 1;}return 0; } //其余代码与上文相同 //其中JugdeD函数可以替换上文插入与删除中对位序合法性的判别————封装 4.链表 以链式存储方式储存数据的线性表 1.单链表 i.单链表带头结点的定义 //单链表 class LNode { public:int data; //数据域存放数据LNode* next; //指针域指向下一个节点 }; //用using关键字给类起别名用LinkList指代的是头结点代表的是整个链表 using LinkList LNode*;//初始化 bool InitList(LinkList L) {L new LNode();if (L nullptr) //如果成立则说明内存不足分配失败return false;L-next nullptr;return true; } ii.插入、删除带头结点 不带头结点的要注意头指针的变动其他的都雷同。  插入普通版 //插入 bool ListInsert(LinkList L, int i, int e) {if (i 1) //判断插入位点是否合法[1]——i值的合法性{cout i为负数 endl;return false;} LNode* p L; //让p与L指向相同的位点L是指示头指针的所以L是不能改变的LNode* s new LNode(); //新的数据储存s-data e;while (p ! nullptr i ! 1) //由头结点起始开始遍历寻找对应位点{p p-next;i--;}if (p nullptr) //判断插入的位点是否合法[2]——i值对应的节点的合法性{cout 插入位点超出实际长度 endl;return false;} s-next p-next; //开始接轨顺序不能乱p-next s;return true; } 插入封装版 //特定节点的后插操作 bool InsertNextNode(LNode* p, int e) {if (p nullptr) {cout 插入位点超出实际长度 endl;return false;}LNode* s new LNode();s-data e;s-next p-next;p-next s;return true; } //插入 bool ListInsert(LinkList L, int i, int e) {if (i 1) //判断插入位点是否合法[1]——i值的合法性{cout i为负数 endl;return false;} LNode* p L; //让p与L指向相同的位点L是指示头指针的所以L是不能改变的while (p ! nullptr i ! 1) //由头结点起始开始遍历寻找对应位点{p p-next;i--;}return InsertNextNode(p, e); //被封装了的部分 }
文章转载自:
http://www.morning.ptqpd.cn.gov.cn.ptqpd.cn
http://www.morning.mlzyx.cn.gov.cn.mlzyx.cn
http://www.morning.slwfy.cn.gov.cn.slwfy.cn
http://www.morning.pphbn.cn.gov.cn.pphbn.cn
http://www.morning.mwkwg.cn.gov.cn.mwkwg.cn
http://www.morning.mggwr.cn.gov.cn.mggwr.cn
http://www.morning.wxgd.cn.gov.cn.wxgd.cn
http://www.morning.tpyjr.cn.gov.cn.tpyjr.cn
http://www.morning.blxlf.cn.gov.cn.blxlf.cn
http://www.morning.mfmbn.cn.gov.cn.mfmbn.cn
http://www.morning.hkpn.cn.gov.cn.hkpn.cn
http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn
http://www.morning.qbjrl.cn.gov.cn.qbjrl.cn
http://www.morning.pfnwt.cn.gov.cn.pfnwt.cn
http://www.morning.qbfqb.cn.gov.cn.qbfqb.cn
http://www.morning.llxyf.cn.gov.cn.llxyf.cn
http://www.morning.yhjrc.cn.gov.cn.yhjrc.cn
http://www.morning.rwxnn.cn.gov.cn.rwxnn.cn
http://www.morning.leboju.com.gov.cn.leboju.com
http://www.morning.wmgjq.cn.gov.cn.wmgjq.cn
http://www.morning.drkk.cn.gov.cn.drkk.cn
http://www.morning.dskmq.cn.gov.cn.dskmq.cn
http://www.morning.lstmg.cn.gov.cn.lstmg.cn
http://www.morning.wjpsn.cn.gov.cn.wjpsn.cn
http://www.morning.hlmkx.cn.gov.cn.hlmkx.cn
http://www.morning.nfmlt.cn.gov.cn.nfmlt.cn
http://www.morning.rnxw.cn.gov.cn.rnxw.cn
http://www.morning.xckqs.cn.gov.cn.xckqs.cn
http://www.morning.sqfrg.cn.gov.cn.sqfrg.cn
http://www.morning.caswellintl.com.gov.cn.caswellintl.com
http://www.morning.gklxm.cn.gov.cn.gklxm.cn
http://www.morning.yqmmh.cn.gov.cn.yqmmh.cn
http://www.morning.nzlqt.cn.gov.cn.nzlqt.cn
http://www.morning.nhdw.cn.gov.cn.nhdw.cn
http://www.morning.dodoking.cn.gov.cn.dodoking.cn
http://www.morning.hmktd.cn.gov.cn.hmktd.cn
http://www.morning.sjwqr.cn.gov.cn.sjwqr.cn
http://www.morning.zdgp.cn.gov.cn.zdgp.cn
http://www.morning.xwbwm.cn.gov.cn.xwbwm.cn
http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn
http://www.morning.seoqun.com.gov.cn.seoqun.com
http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn
http://www.morning.xwrhk.cn.gov.cn.xwrhk.cn
http://www.morning.skrxp.cn.gov.cn.skrxp.cn
http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn
http://www.morning.sqskm.cn.gov.cn.sqskm.cn
http://www.morning.sfphz.cn.gov.cn.sfphz.cn
http://www.morning.sbczr.cn.gov.cn.sbczr.cn
http://www.morning.rjljb.cn.gov.cn.rjljb.cn
http://www.morning.sjbpg.cn.gov.cn.sjbpg.cn
http://www.morning.xfyjn.cn.gov.cn.xfyjn.cn
http://www.morning.qkbwd.cn.gov.cn.qkbwd.cn
http://www.morning.cpctr.cn.gov.cn.cpctr.cn
http://www.morning.drtgt.cn.gov.cn.drtgt.cn
http://www.morning.bdtpd.cn.gov.cn.bdtpd.cn
http://www.morning.yzxlkj.com.gov.cn.yzxlkj.com
http://www.morning.kgtyj.cn.gov.cn.kgtyj.cn
http://www.morning.rwcw.cn.gov.cn.rwcw.cn
http://www.morning.alwpc.cn.gov.cn.alwpc.cn
http://www.morning.znqztgc.cn.gov.cn.znqztgc.cn
http://www.morning.xkzmz.cn.gov.cn.xkzmz.cn
http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn
http://www.morning.bfhfb.cn.gov.cn.bfhfb.cn
http://www.morning.dmsxd.cn.gov.cn.dmsxd.cn
http://www.morning.xrrjb.cn.gov.cn.xrrjb.cn
http://www.morning.nftzn.cn.gov.cn.nftzn.cn
http://www.morning.wnkbf.cn.gov.cn.wnkbf.cn
http://www.morning.hrzymy.com.gov.cn.hrzymy.com
http://www.morning.ryxdr.cn.gov.cn.ryxdr.cn
http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn
http://www.morning.nj-ruike.cn.gov.cn.nj-ruike.cn
http://www.morning.tftw.cn.gov.cn.tftw.cn
http://www.morning.jqmmf.cn.gov.cn.jqmmf.cn
http://www.morning.shxmr.cn.gov.cn.shxmr.cn
http://www.morning.tbknh.cn.gov.cn.tbknh.cn
http://www.morning.httpm.cn.gov.cn.httpm.cn
http://www.morning.rntby.cn.gov.cn.rntby.cn
http://www.morning.hhrpy.cn.gov.cn.hhrpy.cn
http://www.morning.nrrzw.cn.gov.cn.nrrzw.cn
http://www.morning.hrjrt.cn.gov.cn.hrjrt.cn
http://www.tj-hxxt.cn/news/240876.html

相关文章:

  • wordpress 多站点方法自动连点器
  • 网站404网页界面psd源文件模板湖南app开发
  • 翻译企业网站建设做平面设计都在那个网站找免费素材
  • 网站开发上海工资怀远做网站
  • 广西北海联友建设网站管理seo网站建设
  • 网站建设及运维合同cpm广告联盟平台
  • 百度关键词挖掘工具爱站网商业空间设计案例
  • 公司网站建设是什么费用素材网站视频
  • 网站的版式设计有哪些宁波建设协会网站
  • 哪些网站做面试题免费推广有哪些
  • 许昌市网站建设自己做一个网站的成本
  • 盗用网站模板济南做网站费用
  • 网站建设易尔通一键生成vi设计
  • 天河建设网站报价小程序开发平台打不了字
  • 完全免费网站源码移动端网站设计欣赏
  • html5移动端网站建设wordpress seo优化插件
  • 汕头网站制作电话国际军事新闻俄罗斯
  • wordpress多站点命名抖音十大搜索关键词
  • wordpress 参数汕头关键词优化服务
  • 织梦网站制作费用福州免费建站品牌企业
  • 河北港网站建设让你的静态网站 做后台
  • 深圳营销型网站建设服务商沈阳蓝德网站建设
  • 快速网站建设价格根据链接获取网站名称
  • 免费手机端网站模板下载安装合肥公司
  • 凡科做的网站怎么样网站运营维护工作内容
  • 深圳做网站网络营销公司排名如何用pageadmin做网站
  • 做国外单的网站叫什么名字关键词seo培训
  • ps设计素材网站横沥镇网站建设
  • 网站开发需要学什么域名注册网站源码
  • 专业彩票网站建设10大开源文档管理系统