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

网站可以一个人做吗莆田网站制作计划

网站可以一个人做吗,莆田网站制作计划,肃宁县网站建设,山东网页定制线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。在高级程序设计语言中#xff0c;通常都用数组来描述数据结构中的顺序存储结构。同时#xff0c;由于线性表的长度可变#xff0c;且所需最大存储空间随问题不同而不同#xff0c;在C语言中可用动…线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。在高级程序设计语言中通常都用数组来描述数据结构中的顺序存储结构。同时由于线性表的长度可变且所需最大存储空间随问题不同而不同在C语言中可用动态分配的一维数组如下描述。#define LIST_INIT_SIZE 10 //线性表存储空间的初始分配量#define LISTINCREMENT 2 //线性表存储空间的分配增量typedef struct{ElemType *elem//存储空间基址int length //当前长度int listsize//当前分配的存储容量}SqList顺序表的基本操作(12个)用C语言实现如下//SeqList.h#ifndef SEQLIST_H#defineSEQLIST_H#defineLIST_INIT_SIZE10#defineLISTINCREMENT2#defineTRUE1#defineFALSE0typedefstruct{ElemType*elem;intlength;intlistsize;}SqList;typedefintBoolean;intInitList(SqList*L);intDestroyList(SqList*L);intClearList(SqList*L);intListEmpty(SqListL);intListLength(SqListL);intGetElem(SqListL,inti,ElemType*e);intLocateElem(SqListL,ElemTypee,int(*compare)(ElemType,ElemType));intPriorElem(SqListL,ElemTypecur_e,ElemType*pre_e);intNextElem(SqListL,ElemTypecur_e,ElemType*next_e);intListInsert(SqList*L,inti,ElemTypee);intListDelete(SqList*L,inti,ElemType*e);intListTraverse(SqListL,void(*vi)(ElemType*));下面是各个函数的实现代码#includeSeqList.h#include#includeintInitList(SqList*L)//操作结果构造一个空的顺序线性表{(*L).elem(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!(*L).elem)printf(MemoryAllocationFailure\n);//分配内存失败(*L).length0;(*L).listsizeLIST_INIT_SIZE;return1;}intDestroyList(SqList*L)//初始条件顺序表L已存在。操作结果销毁顺序表L{free((*L).elem);(*L).elemNULL;(*L).length0;(*L).listsize0;return1;}intClearList(SqList*L)//初始条件顺序表L已存在。操作结果将L重置为空表{(*L).length0;return1;}intListEmpty(SqListL)//初始条件顺序表L已存在。操作结果若L为空表返回TRUE否则返回FALSE{if(L.length0)returnTRUE;elsereturnFALSE;}intListLength(SqListL)//初始条件顺序表L已存在。操作结果返回L中数据元素的个数{returnL.length;}intGetElem(SqListL,inti,ElemType*e)//初始条件顺序表L已存在1iListLength(L)//操作结果用e返回L中的第i个数据元素的值{if(i1||iL.length)printf(ERROR\n);*e*(L.elemi-1);return1;}intLocateElem(SqListL,ElemTypee,int(*compare)(ElemType,ElemType)){//初始条件顺序表L已存在compare()是数据元素判定函数(满足为1否则为0)//操作结果返回L中第1个与e满足关系compare()数据元素的位序。//若这样的数据元素不存在则返回值为0ElemType*p;inti1;pL.elem;while(iL.length!compare(*p,e))i;if(iL.length)returni;elsereturn0;}intPriorElem(SqListL,ElemTypecur_e,ElemType*pre_e){//初始条件顺序表L已存在//操作结果若cur_e是L的数据元素且不是第一个则用pre_e返回它的前驱否则操作失败pre_e无定//义inti2;ElemType*pL.elem1;while(iL.length*p!cur_e){p;i;}if(iL.length)return-1;else{*pre_e*--p;return1;}}intNextElem(SqListL,ElemTypecur_e,ElemType*next_e){//初始条件顺序表L已存在//操作结果若cur_e是L的数据元素且不是最后一个则用next_e返回它的后继否则操作失败next_e无//定义inti1;ElemType*pL.elem;while(i{i;p;}if(iL.length)return-1;else{*next_e*p;return1;}}intListInsert(SqList*L,inti,ElemTypee){//初始条件顺序表L已存在1iListLength(L)1//操作结果在L中第i个位置之前插入新的数据元素eL的长度加1ElemType*newbase,*q,*p;if(i1||i(*L).length1)//i值不合法printf(ERROR\n);if((*L).length(*L).listsize)//当前存储空间已满增加分配{newbase(ElemType*)realloc((*L).elem,((*L).listsizeLISTINCREMENT)*sizeof(ElemType));if(!newbase)printf(MemoryAllocationFailure\n);//存储分配失败(*L).elemnewbase;//新基址(*L).listsizeLISTINCREMENT;//增加存储容量}q(*L).elemi-1;//q为插入位置for(p(*L).elem(*L).length-1;pq;--p)//插入位置及之后的元素右移*(p1)*p;*qe;//插入e(*L).length;//表长加1return1;}intListDelete(SqList*L,inti,ElemType*e){//初始条件顺序表L已存在1iListLength(L)//操作结果删除L的第i个数据元素并用e返回其值L的长度减1ElemType*p,*q;if(i1||i(*L).length)printf(ERROR\n);p(*L).elemi-1;*e*p;q(*L).elem(*L).length-1;for(p;pq;p)*(p-1)*p;(*L).length--;return1;}intListTraverse(SqListL,void(*vi)(ElemType*)){//初始条件顺序表L已存在//操作结果依次对L每个数据元素调用函数vi()。一旦vi()失败则操作失败// vi()的形参加*表明可通过调用vi()改变元素的值ElemType*p;inti;pL.elem;for(i1;iL.length;i)vi(p);printf(\n);return1;}以下是测试主函数int main(){SqListL;ElemTypee,e0;inti;intj,k;iInitList(L);printf(初始化L后L.elem%uL.length%dL.listsize%d\n,L.elem,L.length,L.listsize);for(j1;j5;j)iListInsert(L,1,j);printf(在L的表头依次插入15后*L.elem);for(j1;j5;j)printf(%d,*(L.elemj-1));printf(\n);printf(L.elem%uL.length%dL.listsize%d\n,L.elem,L.length,L.listsize);iListEmpty(L);printf(L是否空i%d(1:是0:否)\n,i);iClearList(L);printf(清空L后L.elem%uL.length%dL.listsize%d\n,L.elem,L.length,L.listsize);iListEmpty(L);printf(L是否空i%d(1:是0:否)\n,i);for(j1;j10;j)ListInsert(L,j,j);printf(在L的表尾依次插入110后*L.elem);for(j1;j10;j)printf(%d,*(L.elemj-1));printf(\n);printf(L.elem%uL.length%dL.listsize%d\n,L.elem,L.length,L.listsize);ListInsert(L,1,0);printf(在L的表头插入0后*L.elem);for(j1;jListLength(L);j)printf(%d,*(L.elemj-1));printf(\n);printf(L.elem%u(有可能改变)L.length%d(改变)L.listsize%d(改变)\n,L.elem,L.length,L.listsize);GetElem(L,5,e);printf(第5个元素的值为%d\n,e);for(j3;j4;j){kLocateElem(L,j,comp);if(k)printf(第%d个元素的值为%d的平方\n,k,j);elseprintf(没有值为%d的平方的元素\n,j);}for(j1;j2;j){GetElem(L,j,e0);iPriorElem(L,e0,e);if(i-1)printf(元素%d无前驱\n,e0);elseprintf(元素%d的前驱为%d\n,e0,e);}for(jListLength(L)-1;jListLength(L);j){GetElem(L,j,e0);iNextElem(L,e0,e);if(i-1)printf(元素%d无后继\n,e0);elseprintf(元素%d的后继为%d\n,e0,e);}kListLength(L);for(jk1;jk;j--){iListDelete(L,j,e);if(i0)printf(删除第%d个数据失败\n,j);elseprintf(删除的元素值为%d\n,e);}printf(依次输出L的元素);ListTraverse(L,visit);printf(L的元素值加倍后);ListTraverse(L,dbl);ListTraverse(L,visit);DestroyList(L);printf(销毁L后L.elem%uL.length%dL.listsize%d\n,L.elem,L.length,L.listsize);return0;}
http://www.pierceye.com/news/918964/

相关文章:

  • 南宁世尊商贸网站建设wordpress给文章设置标题
  • 网站建设与准备微信带颜色的公众号
  • 郑州整站关键词搜索排名技术企业网站建设 信息安全
  • 招聘网站建设计划书网站ftp密码怎么修改
  • 网站的360度全景图片怎么做网站做可信认证多少钱
  • 建立网站图片wordpress msg
  • 南京做中英文网站设计wordpress单位内网做网站
  • 网站有必要备案吗ps课程教学零基础网课
  • 两学一做考学网站有用免费模板网
  • 个人做的网站能备案吗wordpress slides
  • idc网站模板 dedewordpress虚拟资源交易平台
  • 微网站在哪建网站首页默认的文件名一般为
  • 网站内容建设招标做芯片代理哪个网站推广
  • 网站模板图册上海机械网站建设
  • 专业的图纸设计网站怎么做外贸网站需注意哪些
  • 网站推广排名收费标准网址地址
  • 做短裙的视频网站网站生成手机版
  • 李洋网站建设睢宁做网站
  • 网站内的搜索怎么做的小程序游戏开发成本
  • 深圳市住建局造价站装潢设计就业前景
  • 网站上的按钮怎么做ipad做网站服务器
  • 马来西亚的网站后缀3d建模平台
  • 昆山建设工程安监站网站jsp网站开发好书
  • 策划书怎么写 范文泉州seo招聘
  • 网站建设的业务好做吗wordpress 首页静态
  • 做网站销售的话术网络广告策划方案
  • 企智网络网站建设公司社交信息共享网站开发外包
  • 网站建设168网站谁做的比较好
  • 邯郸移动网站建设公司wordpress页脚太高
  • 大型电子商务网站开发上海 网站建设 外包it