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

北京购物网站建设网站后台做图片尺寸是多大

北京购物网站建设,网站后台做图片尺寸是多大,上海设计公司排名榜,平面设计最新招聘信息目录 一、概念 1、静态顺序表#xff1a;使用定长数组存储元素。 2、动态顺序表#xff1a;使用动态开辟的数组存储 二、接口实现 1、对顺序表的初始化 2、对数据的销毁 3、对数据的打印 4、检查是否需要扩容 5、尾插 6、头插 7、尾删 8、头删 9、在pos位置插入x …目录 一、概念 1、静态顺序表使用定长数组存储元素。 2、动态顺序表使用动态开辟的数组存储 二、接口实现 1、对顺序表的初始化 2、对数据的销毁 3、对数据的打印 4、检查是否需要扩容 5、尾插 6、头插 7、尾删 8、头删 9、在pos位置插入x 10、在pos位置处删除x 心得 一、概念 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构一般情况下采用数组存储。在数组上完成数据的增删查改。 顺序表一般分为 1、静态顺序表使用定长数组存储元素。 2、动态顺序表使用动态开辟的数组存储 我们一般使用动态顺序表因为静态顺序表的数组大小固定的而动态可以根据我们需求的不同去在线扩容所以接下来的文章围绕如何实现动态顺序表来讲解。 二、接口实现 对数据结构我们一般采用增删查改去实现。 #pragma once#include stdio.h #include assert.h #include stdlib.h #includestring.htypedef int SLDateType; typedef struct SeqList {SLDateType* a;int size;//存储有效数据的大小int capacity;//空间大小 }SeqList;// 对数据的管理:增删查改 void SeqListInit(SeqList* ps); void SeqListDestroy(SeqList* ps);void SeqListPrint(SeqList* ps); void SeqListPushBack(SeqList* ps, SLDateType x);//尾插 void SeqListPushFront(SeqList* ps, SLDateType x);//头插 void SeqListPopFront(SeqList* ps);//头删 void SeqListPopBack(SeqList* ps);//尾删 void SeqListCheckCapacity(SeqList* ps);//检查是否需要扩容 // 顺序表查找 int SeqListFind(SeqList* ps, SLDateType x); // 顺序表在pos位置插入x void SeqListInsert(SeqList* ps, int pos, SLDateType x); // 顺序表删除pos位置的值 void SeqListErase(SeqList* ps, int pos); //修改特定位置的值 void SeqListModify(SeqList* ps, int pos,int value); 1、对顺序表的初始化 void SeqListInit(SeqList* ps) {ps-a (SLDateType*)malloc(sizeof(SLDateType) * 4);if (ps-a NULL)//需要检查动态开辟内存是否开辟成功{perror(malloc);exit(-1);//直接程序退出因为空间都开辟失败后面没法写}ps-size 0;ps-capacity 4; } 2、对数据的销毁 因为我们是动态开辟的内存最后肯定是需要free释放。 void SeqListDestroy(SeqList* ps) {free(ps-a);ps-a NULL;ps-size 0;ps-capacity 0; }3、对数据的打印 因为我们时刻要检查每一部分代码的正确性需要数据检验所以需要专门一个打印函数 void SeqListPrint(SeqList* ps) {for (int i0;ips-size;i){printf(%d , ps-a[i]);} }4、检查是否需要扩容 因为动态内存每当我们插入新的数据时总需要将存储有效数据的大小增加当我们开辟的空间不够时就需要扩容利用realloc函数的性质。 void SeqListCheckCapacity(SeqList* ps) {if (ps-size ps-capacity){SLDateType* tmp (SLDateType*)realloc(ps-a, ps-capacity * 2 * sizeof(SLDateType));//注意动态内存开辟的单位都是字节if (tmp NULL){perror(realloc);exit(-1);}ps-a tmp;ps-capacity * 2;} } 5、尾插 void SeqListPushBack(SeqList* ps, SLDateType x) {//先考虑空间大小够不够需不需要扩容SeqListCheckCapacity(ps);ps-a[ps-size] x;ps-size; } 6、头插 头插还需要用memmove函数去挪动数据 void SeqListPushFront(SeqList* ps, SLDateType x) {//也需要考虑扩容的问题SeqListCheckCapacity(ps);memmove(ps-a 1, ps-a, ps-size*sizeof(SLDateType));ps-size;ps-a[0] x; }7、尾删 我们需要检查size是否已经小于0防止数组的越界一般用assert去暴力的检查 void SeqListPopBack(SeqList* ps) {assert(ps-size 0);//暴力的检查/*if (ps-size 0)return;*///温柔的检查ps-size--; } 8、头删 void SeqListPopFront(SeqList* ps) {assert(ps-size 0);memmove(ps-a, ps-a 1, ps-size* sizeof(SLDateType));ps-size--; } 9、在pos位置插入x void SeqListInsert(SeqList* ps, int pos, SLDateType x) {SeqListCheckCapacity(ps);assert(pos 0 pos ps-size);memmove(ps-apos 1, ps-apos, sizeof(SLDateType)*(ps-size-pos));ps-a[pos] x;ps-size; } 10、在pos位置处删除x void SeqListErase(SeqList* ps, int pos) {assert(ps-size 0);memmove(ps-a pos, ps-a pos 1,sizeof(SLDateType)*(ps-size-pos-1));ps-size--; } 心得 顺序表开启了数据结构的的序章顺序表算是很简单的数据结构了从此我们需要敲一部分代码编译一次不能一股脑的输出结果编译发现好多个bug需要写一部分编译一部分这样才更加的有持续性。
http://www.laogonggong.com/news/132011.html

相关文章:

  • 南京建设局的网站首页网站做支付宝支付接口
  • 推荐常州网站推广网站开发的理解
  • 酒店网站开发方案网站开发 搜索
  • 做淘客应该知道的网站个人网站可以备案了吗
  • 潍坊软件网站开发深圳免费推广网站大全
  • 怎么制作网站登录网站备案主办单位错误
  • 衡水seo_衡水网站建设-燕丰收小程序登录网址
  • 网址导航网站有哪些做交通工程刬线的网站公司
  • 网站建设备案是什么苏州保洁公司哪家好
  • 南昌 网站建设申请公司邮箱
  • 手机网站的网址是什么原因宣汉网站建设
  • 网站建设翻译插件ui的设计网站
  • 云南省人防工程建设网站网站首页栏目怎么做
  • 天安云谷网站建设android系统app开发
  • 广州高端优秀网站改版设计公司档案网站建设经验
  • 微网站开发商京东网站建设思维导图
  • 网站运营条件html网页完整代码作业简单
  • 六安网站做ipo尽调需要用到的网站
  • 网站 申请网站建设公司天成
  • 织梦网站突然打开很慢拖拽做网站
  • 网站建设和维护做什么建立网站三大基础
  • 网站开发名片灰色系网站
  • 有了域名之后怎么做网站东莞市品牌网站建设报价
  • 米拓做的网站如何改代码网页设计规划
  • 合肥电子商务开发网站建设中美关系最新消息最新进展
  • 给私人企业做网站推广塘沽网络公司
  • 兰考县住房和城乡建设局网站创建一个网站流程
  • 银川市住房城乡建设局网站织梦网站地图底部
  • 重庆网站推广网络推广高级网页设计师证书
  • 邵阳营销型网站建设wordpress 不重定向