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

上海网站建设,迈wordpress优化网站打开速度

上海网站建设,迈,wordpress优化网站打开速度,图片wordpress博客,中国红河网4.1线性表的思路理解 线性表是包含若干个数据元素的一个线性序列 线性表特征#xff1a;表头无前驱#xff0c;表尾无后继#xff0c;其他元素有且仅有一个直接前驱和直接后继。 顺序存储#xff1a;逻辑上相邻的元素#xff0c;其存储位置也相邻(但是对表的插入和删除) … 4.1线性表的思路理解 线性表是包含若干个数据元素的一个线性序列 线性表特征表头无前驱表尾无后继其他元素有且仅有一个直接前驱和直接后继。 顺序存储逻辑上相邻的元素其存储位置也相邻(但是对表的插入和删除) 4.2线性表的创建 4.2.1结构体的构建 线性表的顺序存储结构 ctypedef int data_t;//int可以改成图书馆 #define N 128 typedef struct {data_t data[N];int last; }sqlist, *sqlink; last表示最后一个可能有100个数现在代表的就是有数据的最后一个元素其实就是一个下标。 4.2.2创建函数的实现 每一种数据结构 都会去定义这三个文件 sqlist.h 写数据结构定义 或结构体的定义(表的数组 last标记最后一个元素的位置) 增删改查各种运算接口 sqlist.c 运算的实现 test.c   直接去调用sqlist.h接口 接口去调用到sqlist.c函数原型里面实现 这样来写结构的好处 1 结构非常清晰 2 软件复用很好(可以将.c 和 .h 给其他同事或同学用 可以自己用 自己直接拿来调用.c和.h文件即可实现链表运算) 4.2.2.1 逻辑分析 1. 申请空间 2. 初始化 4.2.2.2 代码实现 sqlink list_create() {//mallocsqlink L; 4.3线性表的尾部插入 4.3.1逻辑分析 1. 判断是否为满 2. last往后移动一个位置 3. 赋值 //malloc需要头文件 #include stdlib.h 返回值void *(强制类型转换) 堆L (sqlink)malloc(sizeof(sqlist));if (L NULL) {printf(list malloc failed\n);return L; //失败 返回的是NULL 没有意义}//initialize 初始化//void *memset(void *s, int c, size_t n); 需要#include string.h|s起始地址 用 c去填充 n就是n个字节//从s开始的n个字节全部用c去填充memset(L, 0, sizeof(sqlist));L-last -1;//returnreturn L; } 4.3线性表的尾部插入 4.3.1逻辑分析 1. 判断是否为满 2. last往后移动一个位置 3. 赋值 4.3.2代码实现 int list_insert(sqlink L, data_t value) { int i; //full if (L-last N-1) { printf(list is full\n); return -1; } //update value last L-last; L-data[L-last] value; return 0; } 4.4线性表的打印 4.4.1逻辑分析 如何遍历顺序表 4.4.2 代码实现 1. 判断有没有表 2. 判断表是否为空 3. 通过last移动遍历打印 int list_show(sqlink L) { int i; if (L NULL) return -1; if (L-last -1) printf(list is empty\n); for (i 0; i L-last; i) { printf(%d , L-data[i]); } puts(); return 0; } 4.5线性表置空 4.5.1逻辑分析 1.首先判断表是否为空表 成功返回0 失败返回-1 2.置空 4.5.2 代码实现 int list_empty(sqlink L) { if(L NULL){ printf“list is empty\n” return -1 }memset(L, 0, sizeof(sqlist));L-last -1; } 4.6线性表的尾部删除 4.6.1逻辑分析 1、判断下它是否为空 2、last向左移动一下 4.6.2 代码实现 int list_delete(sqlink L) { int i; if (L-last -1) { printf(list is empty\n); return -1; } //update L-last--; return 0; } 4.7线性表的任意位置插入 4.6.1逻辑分析 1.首先判断表满没满 2.检查位置是否对 [0, last1] 3.整体往后移动 4.赋值 5.last往后移动一个位置 L-last; 4.6.2 代码实现 int list_insert(sqlink L, data_t value, int pos) { int i; //full if (L-last N-1) { printf(list is full\n); return -1; } //check para   0posLast1   [0, last1] if (pos 0 || pos L-last1) { printf(Pos is invalid\n); return -1; }for(i L-last; i pos;i--){ L-data[i1] L-data[i]; } //update value last L-data[pos] value; L-last; return 0; } 4.7线性表的任意位置删除 4.7.1逻辑分析 1. 判断下它是否为空 2. 判断删除的位置是否可以 [0, last] 3. 循环移动 4. last向左移一下 4.7.2 代码实现 int list_delete(sqlink L, int pos) { int i; if (L NULL) { //判断是不是空 printf(list is not exist\n); return -1; } if (L-last -1) { //判断是不是空 printf(list is empty\n); return -1; } //int ret ; ret L-data[pos]; //pos [0, last] || 满足其一就有问题 if (pos 0 || pos L-last) { printf(delete pos is invalid\n); return -1; } //move [pos1, last] for (i pos1; i L-last; i) { L-data[i-1] L-data[i]; } /* for(i pos; i L-last;i){ L-data[i] L-data[i1]; } */ //update L-last--; return 0; // return ret; }
http://www.dnsts.com.cn/news/48999.html

相关文章:

  • 网站logo怎么修改网络广告设计制作
  • 网站开发前端模板wordpress登陆背景
  • 官方网站建设的重要性wordpress夜间模式
  • 阜阳h5网站建设公司提供零基础网站建设教学培训
  • 个人网站免费空间申请毕业设计 网站开发
  • 门户网站制作流程博客网站建设可以在家做吗
  • 门户网站意思设计模版网站
  • 设计网站费用多少开源购物商城
  • 请人做网站要多少百度域名查询
  • 梵讯企业网站建设网络规划设计师教程第二版
  • 建设银行官网首页网站公告wordpress怎么加地图
  • 网站表单提交到qq邮箱宽屏大气网站源码
  • 山西住房与建设部网站广东建设信息网三库
  • 深圳网站建设潮动九州p2p网站建设规划
  • 宣传型电子商务网站莱芜金点子招工招聘
  • 网站企业网站建设需求文档建设厅电工证查询网站
  • 中国传统色彩网站建设方案google play官网入口
  • 济南微信网站制作网站首页页面设计模板
  • 维护网站需要什么技术专业网站建设工作室
  • 手机上怎么创建自己的网站江西住房和城乡建设厅
  • 名师工作室网站建设现状调查wordpress打开所有页面404
  • 上海aso优化公司seo厂家费用低
  • 汕头站扩建WordPress评论加签到
  • anker 网站谁做的珠宝 网站欣赏
  • 书店网站建设可行性分析网站 icp
  • 上海网站设计图片衡阳seo优化报价
  • 做网站公司赚钱么阳江网站制作
  • pc网站页面百度站长工具使用方法
  • 大连哪个公司做网站好wordpress添加二级菜单
  • 用ps制作网站首页高端品牌手机