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

建设网站最重要的是什么意思教学网站建设计划

建设网站最重要的是什么意思,教学网站建设计划,太平洋网站建设,昆明网站建站推广目录 c语言实现顺序表 完整代码实现 c语言实现顺序表 顺序表的结构定义#xff1a; typedef struct vector {int size; // 顺序表的容量int count; // 顺序表现在存储了多少个数据int *data; // 指针指向连续的整型存储空间 } vector;顺序表的结构操作#xff1a; 1、初始… 目录 c语言实现顺序表 完整代码实现 c语言实现顺序表 顺序表的结构定义 typedef struct vector {int size; // 顺序表的容量int count; // 顺序表现在存储了多少个数据int *data; // 指针指向连续的整型存储空间 } vector;顺序表的结构操作 1、初始化顺序表 vector *getNewVector(int n) // 获取一个存储上限为n的顺序表 {vector *p (vector *)malloc(sizeof(vector)); // 为顺序表结构体动态开辟空间p-size n; // 上限p-count 0; // 存储个数初始化为0p-data (int *)malloc(sizeof(int *) * n); // 指针指向连续的存出区return p; } 2、销毁顺序表 void clear(vector *v) {if (v NULL)return; // 如果没有顺序表则返回free(v-data); // 先销毁连续的存储区free(v); // 再销毁顺序表本身的存储空间return; } 3、插入数据 int insert(vector *v, int pos, int value) // 在pos位置插入 {if (pos 0 || pos v-count)return 0; // 插入位置合不合法// if (v-size v-count)// return 0; if(v-size v-count !expand(v)) return 0; // 判断表是否满了for (int i v-count - 1; i pos; i--) // 逆序遍历后移{v-data[i 1] v-data[i];}v-data[pos] value; // 插入v-count 1; // 维护数据return 1; } 4、删除数据 int erase(vector *v, int pos) // 在pos位置删除数据 {if (pos 0 || pos v-count)return 0; // 删除位置合法不if (v-count 0)return 0; // 无数据for (int i pos 1; i v-size; i) // 前序遍历前移{v-data[i - 1] v-data[i];}v-count - 1; // 维护数据return 1; } 5、输出数据 // 5、输出数据 void output_vector(vector *v) {int len 0;for (int i 0; i v-size; i){len printf(%3d, i);}printf(\n);for (int i 0; i len; i)printf(-);printf(\n);for (int i 0; i v-count; i){printf(%3d, v-data[i]);}printf(\n);printf(\n);return; }6、扩容数据 注意         realloc的三种工作方式         1、试着在原内存的基础上向后延展内存空间         2、当后面的内存不够用了会重新找一块内存将原来的复制过来然后向后延展         3、若重新找的内存没有足够大的就返回NULL。 int expand(vector* v) {if(v NULL) return 0;int * p (int *)realloc(v-data,sizeof(int) * 2 * v-size); //为了避免realloc工作原理产生的bug先定义一个指针先给这个指针赋予reallocif( p NULL) return 0; //若p返回NULL则扩容空间失败 返回就可以了v-data p;v-size * 2;return 1; } 完整代码实现 #include stdio.h #include stdlib.h #include time.h// 顺序表 结构定义 typedef struct vector {int size; // 顺序表的容量int count; // 顺序表现在存储了多少个数据int *data; // 指针指向连续的整型存储空间 } vector;// 顺序表 结构操作 // 1、初始化顺序表 vector *getNewVector(int n) // 获取一个存储上限为n的顺序表 {vector *p (vector *)malloc(sizeof(vector)); // 为顺序表结构体动态开辟空间p-size n; // 上限p-count 0; // 存储个数初始化为0p-data (int *)malloc(sizeof(int *) * n); // 指针指向连续的存出区return p; } // 2、销毁顺序表 void clear(vector *v) {if (v NULL)return; // 如果没有顺序表则返回free(v-data); // 先销毁连续的存储区free(v); // 再销毁顺序表本身的存储空间return; } //6、扩容 int expand(vector* v) {if(v NULL) return 0;int * p (int *)realloc(v-data,sizeof(int) * 2 * v-size); if( p NULL) return 0;v-data p;v-size * 2;return 1; } // 3、插入 int insert(vector *v, int pos, int value) // 在pos位置插入 {if (pos 0 || pos v-count)return 0; // 插入位置合不合法// if (v-size v-count)// return 0; if(v-size v-count !expand(v)) return 0; // 判断表是否满了for (int i v-count - 1; i pos; i--) // 逆序遍历后移{v-data[i 1] v-data[i];}v-data[pos] value; // 插入v-count 1; // 维护数据return 1; } // 4、删除 int erase(vector *v, int pos) // 在pos位置删除数据 {if (pos 0 || pos v-count)return 0; // 删除位置合法不if (v-count 0)return 0; // 无数据for (int i pos 1; i v-size; i) // 前序遍历前移{v-data[i - 1] v-data[i];}v-count - 1; // 维护数据return 1; } // 5、输出数据 void output_vector(vector *v) {int len 0;for (int i 0; i v-size; i){len printf(%3d, i);}printf(\n);for (int i 0; i len; i)printf(-);printf(\n);for (int i 0; i v-count; i){printf(%3d, v-data[i]);}printf(\n);printf(\n);return; }int main(void) {srand(time(0)); //实现随机数 #define MAX_OP 10vector *v getNewVector(2);for (int i 0; i MAX_OP; i){int op rand() % 4, pos, val, ret;switch (op){//75% 插入case 0:case 1:case 2:pos rand() % (v-count 2); //随机位置val rand() % 100; //随机值ret insert(v, pos, val); //插入 为 1 删除 为 0printf(insert %d at %d to vector %d\n,val, pos, ret);break;//25% 删除case 3:pos rand() % (v-count 2);ret erase(v, pos);printf(erase item at %d in vector %d\n,pos, ret);break;}output_vector(v);}clear(v); //销毁表return 0; }
http://www.dnsts.com.cn/news/14918.html

相关文章:

  • 网站设计项目策划ppt向网站服务器上传网页文件下载
  • 电气网站设计十个免费软件不收费
  • 个人网站建设教程视频浏览广告赚钱的平台
  • 备案平台新增网站南昌模板建站代理
  • 南通公司网站制作方法网站目录
  • 网站建设及推广刷外链工具
  • 注册域名要多久惠州seo快速排名
  • 网站平台建设方案电商的推广方式
  • 天津免费建网站福田建设网站
  • 青浦企业网站制作wordpress前台注册插件
  • 什么是网站建设与维护wordpress开启分页
  • 返利网站开发计划书北京动画视频制作公司
  • 在线心理健康网站建设蓝色风格的网站
  • 怎么建立企业网站免费的网站制作谁家好
  • 网页网站的制作过程友情链接对网站的作用
  • 联兴建设官方网站昆明网站开发推广公司
  • 房产信息网网站邯郸网站设计招聘网
  • 做网站应该会什么软件如何搭建网络论坛平台
  • wordpress加入移动端导航栏网站排名乐云seo
  • 网站 栏目做视频up主视频网站
  • 专做特卖的网站网络推广有哪些网站
  • 网站开发视频教程百度网盘枣庄做网站制作
  • 长治制作公司网站的公司广告公司名字免费起名大全
  • 做网站需要注意些什么好看的网站分享
  • 成品动漫和视频网站入口画册设计印刷
  • 网站怎么做电脑系统下载文件做网站的时候怎么把图片往左移
  • 免费申请邮箱账号悟空建站seo服务
  • 长沙市天心建设局网站中国建筑设计网官网
  • 购物网站设计思路做网站的报价方案
  • 建立网站的软件下载旅游网站怎么建设