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

wordpress 百科模板seo 网站树

wordpress 百科模板,seo 网站树,域名个人用户可以做企业网站吗,南京建站服务昨天我发布了关于数据结构线性表的学习知识#xff08;【数据结构】顺序表-CSDN博客#xff09;。所谓“纸上得来终觉浅”#xff0c;光看不练可不行#xff0c;下面我们来看一下顺序表的习题。 题目链接 【深基15.例1】询问学号 - 洛谷 题目解读 题目描述了一个场景【数据结构】顺序表-CSDN博客。所谓“纸上得来终觉浅”光看不练可不行下面我们来看一下顺序表的习题。 题目链接 【深基15.例1】询问学号 - 洛谷 题目解读 题目描述了一个场景有 n 名同学陆续进入教室我们知道他们的学号学号在 1 到 10^9 之间。按同学进入教室的顺序给出学号。 我们需要完成以下几个主要任务 定义一个结构体 SeqList 来表示存储学号的顺序表其中包含学号数组 number 、最大容量 capacity 和有效数字个数 size 。编写 init 函数来初始化顺序表。编写 checkcapacity 函数来检查顺序表的容量如果容量不足则进行扩容。编写 insert 函数向顺序表中插入尾插学号。 听起来不难那么下面开始写代码。 代码详解 1.定义SeqList结构体 结构体的定义和初始化都不难咱们不过多解释有问题可以在评论区讨论。 typedef struct SeqList {int* number;//学号int capacity;//最大容量int size;//有效数字个数 }SL; 2.初始化函数 void init(SL* p) {p-numberNULL;p-capacity0;p-size0; } 3.检测容量足够与否并扩容 整体来说不难理解看一下注释应该不成问题。唯一的难点可能是有些同学不懂realloc的用法博主将它的用法放在了疑难解答大家可以自行学习。 /*** 检查并调整顺序表的容量* p 指向顺序表结构体的指针*/ void checkcapacity(SL* p) {// 如果指针为空输出错误信息并退出程序if(p NULL){cout 未检查到指针所指向数据 endl;exit(1);}// 如果当前容量等于元素个数if(p-capacity p-size){// 计算新的容量如果当前容量为 0则新容量为 4否则新容量为当前容量的 2 倍int newcapacity p-capacity 0? p-capacity 4 : 2 * p-capacity;// 重新分配内存空间int* ps (int*)realloc(p-number, newcapacity * sizeof(int));// 如果重新分配内存失败if(ps NULL){perror(realloc fail);exit(1);}// 更新顺序表的指针和容量p-number ps;p-capacity newcapacity;} } 4.尾插函数 参数含义 p是指向顺序表结构体的指针用来操作顺序表的相关数据。x要添加到顺序表末尾的数据。 /*** 向顺序表中插入一个元素* p 指向顺序表结构体的指针* x 要插入的元素值*/ void insert(SL* p, int x) {// 如果指针为空输出错误信息并退出程序if(p NULL){cout 初始化失败 endl;exit(1);}// 检查并调整顺序表的容量checkcapacity(p);// 将元素插入到顺序表中并增加元素个数p-number[p-size] x; } 完整代码 #includebits/stdc.h #includeassert.h using namespace std; typedef struct SeqList {int* number;//学号int capacity;//最大容量int size;//有效数字个数 }SL; void init(SL* p) {p-numberNULL;p-capacity0;p-size0; } void checkcapacity(SL* p) {if(pNULL){cout未检查到指针所指向数据endl;exit(1);}if(p-capacityp-size){int newcapacityp-capacity0?p-capacity4:2*p-capacity;int* ps(int*)realloc(p-number,newcapacity*sizeof(int));if(psNULL){perror(realloc fail);exit(1);}p-numberps;p-capacitynewcapacity;} } void insert(SL* p,int x) {if(pNULL){cout初始化失败endl;exit(1);}checkcapacity(p);p-number[p-size]x; } main() {SL s;init(s);int n;int m;cinnm;for(int i0;in;i){int x;cinx;insert(s,x);}for(int i0;im;i){int x;cinx;couts.number[x-1]endl;} } AC  疑难解答 realloc的用法 realloc 函数用于重新分配内存块的大小。 函数原型void *realloc(void *ptr, size_t size); 参数含义 ptr指向之前通过 malloc、calloc 或 realloc 分配的内存块的指针。size新的所需内存大小。 用法及作用 如果 ptr 为 NULL则 realloc 的功能类似于 malloc分配指定大小的内存。如果 size 为 0 且 ptr 不为 NULL则相当于释放 ptr 指向的内存类似于 free 函数。否则realloc 尝试改变之前分配的内存块的大小。如果有足够的连续空间可扩展现有内存块会在原地进行扩展并返回原指针。如果没有足够的连续空间会分配新的内存块将原有数据复制到新位置并释放旧的内存块然后返回新的指针。 例如 #include stdio.h #include stdlib.hint main() {int *ptr (int *)malloc(sizeof(int) * 5); // 分配 5 个整数的内存// 填充一些数据for (int i 0; i 5; i) {ptr[i] i;}int *newPtr (int *)realloc(ptr, sizeof(int) * 10); // 重新分配为 10 个整数的内存if (newPtr! NULL) {ptr newPtr; // 更新指针// 继续使用扩展后的内存for (int i 5; i 10; i) {ptr[i] i;}// 输出数据for (int i 0; i 10; i) {printf(%d , ptr[i]);}printf(\n);free(ptr); // 释放内存} else {printf(Reallocation failed!\n);//创建失败提示信息}return 0; }
http://www.w-s-a.com/news/747172/

相关文章:

  • 宣城市住房和城乡建设局网站网站界面设计专利
  • 免费个人网站建站申请如何做内网网站
  • 福州专业网站建设怎么做黄骅港怎么读
  • 望京 网站建设深圳发型网站建设
  • 电商网站的相同点医疗网站建设代理商
  • 网址导航网站有哪些易营宝智能建站
  • 私人定制哪个网站做的比较好免费网站使用
  • 嘉兴网站建设系统免费的seo优化
  • 购书网站开发的意义网站建设接单渠道
  • 网站站内搜索怎么做wordpress默认主题修改
  • 网站推广的表现方式交网站建设 域名计入什么科目
  • 龙岗南联网站建设公司江门市
  • 网站运行方案设计平台模式
  • 网站加入wordpress邳州城乡建设局网站
  • 两个网站如何使用一个虚拟主机东莞市网站seo内容优化
  • 湖南网站建设公司排名傲派电子商务网站建设总结
  • 网站建设求职要求互联网挣钱项目平台
  • 网站权重怎么做做黑彩网站能赚钱吗
  • 三台建设局网站网页设计购物网站建设
  • thinkphp大型网站开发市场调研公司招聘
  • 天宁区建设局网站七冶建设集团网站 江苏
  • 越南网站 后缀湘潭新思维网站
  • 环球旅行社网站建设规划书网钛cms做的网站
  • 软件资源网站wordpress不能识别语言
  • 东坑仿做网站西安私人网站
  • 公司想做个网站怎么办如何搭建视频网站
  • .net网站架设凯里网站建设哪家好
  • seo网站建站建站国外百元服务器
  • 家具网站开发设计论文企业网站里面的qq咨询怎么做
  • 网站视频提取软件app淘宝店购买网站