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

网站如何做好优化代运营公司排行榜

网站如何做好优化,代运营公司排行榜,wordpress播放本地视频,网站建设技术方案模板创作不易#xff0c;本篇文章如果帮助到了你#xff0c;还请点赞 关注支持一下♡#x16966;)!! 主页专栏有更多知识#xff0c;如有疑问欢迎大家指正讨论#xff0c;共同进步#xff01; #x1f525;c语言系列专栏#xff1a;c语言之路重点知识整合 #x… 创作不易本篇文章如果帮助到了你还请点赞 关注支持一下♡)!! 主页专栏有更多知识如有疑问欢迎大家指正讨论共同进步 c语言系列专栏c语言之路重点知识整合 给大家跳段街舞感谢支持ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ 在经过数组基本知识的学习后我们知道数组可以用来存放一组数据 但是数组的个数是固定的如果我们想动态改变这组数据通过数组就十分麻烦 基于结构体的知识基础上本文将介绍一种新的数据结构——链表 链表的增删改查功能完整组件化封装 链表 目录 链表的基本概念步骤 添加插入删除1.按下标删除2.按数据删除 查找1.按下标查找返回数据2.按数据查找返回下标 链表的基本概念 根据数组长度固定的特点我们可以将数组比作货车货车装满了数据添加数据只能再装一辆货车定义一个新数组修改数据还要删除某些已有数据太具有局限性。 从长度固定的角度出发我们需要一个不是长度固定还能存放一组数据的“数据类型”就是链表。 如果说数组是货车那链表就是火车它可以随意地在一组数据的末端添加新数据还可以在中间添加删除等非常灵活那么链表是如何定义的呢 链表通过结构体和指针实现。通常需要定义一个表示链表节点的结构体包含两个成员数据和指向下一个节点的指针。 一个链表节点的结构体定义例如 定义节点时同时定义节点的指针在后续堆区创建、链表遍历等都会用到typedef struct node //使用typedef简化命名 {int data; //数据struct node* next;//下一个节点的 结构体指针 } Node,* P_NODE,*PNode; //节点指针一个链表是由多个结点连接组成链表中的第一个节点称为头节点最后一个节点称为尾节点。 头节点通常用一个指针来保存指向链表的第一个节点。如果链表为空则头指针为NULL。 在定义好节点的结构体后创建一个静态链表的过程为 步骤 1.声明一个头节点一般头节点不存贮数据 Node header { -1,NULL };2.创建几个节点变量 栈区 或 堆区 Node n1 { 0,NULL };Node n2 { 6,NULL };Node n3 { 2,NULL };Node n4 { 2,NULL };或 P_NODE newNode malloc(sizeof(Node)); //记得free堆区知识堆区详解 链接所有节点 header.next n1;n1.next n2;n2.next n3;n3.next n4;n4.next newNode; //已经是结构体指针类型不需要再取地址newNode-next NULL;遍历链表 //Node* p;P_NODE p header.next;while (p!NULL){printf(%d , p-data);pp-next;}free(newNode);添加 我们可以将添加节点封装为函数 PNode create(int data) {PNode newNode (PNode)malloc(sizeof(NODE));newNode-data data;newNode-next NULL;return newNode; }在链表上添加数据定义一个add函数分为一开始链表为空和不为空两种情况 void add(PNode node) {if (header NULL){header ender node;}else{ender-next node;endernode;}}然后先调用create函数创建节点再使用add添加到链表 add(create(添加的数据)); 插入 理想的在后面插入数据 void insert_behind(int index, PNode node) {PNode p header;for (int i 0; i index; i){p p-next;}//保留p的下一个PNode q p-next;node-next q;p-next node; }然后先调用create创建插入的节点通过插入的下标插入到链表中 删除 1.按下标删除 现只考虑理想的中间删除不考虑删头删尾 void remove_index(int index) {PNode p header;PNode q;for (int i 0; i index; i){q p;p p-next;}PNode m p-next;q-next m;free(p); }2.按数据删除 void remove_data(int data) {PNode p header;PNode q;while (p-data ! data){q p;p p-next;}PNode m p-next;q-next m;free(p);}查找 先写一个得到链表长度的函数 int size() {PNode p header;int i0;while (p!NULL){i;p p-next;}return i; }1.按下标查找返回数据 int get(int index) {PNode p header;for (int i 0; i index; i){p p-next;}return p-data; }2.按数据查找返回下标 int indexOf(int data) {int index0;PNode p header;while (p-data ! data){index;p p-next;}return index; }本文全部代码供自己调试查看 #include stdio.h #include stdlib.htypedef struct node {int data; //数据struct node *next; //结构体指针 }NODE,*PNode;PNode create(int data); void add(PNode node);void insert_behind(int index, PNode node);void remove_index(int index); void remove_data(int data);int size(); int get(int index); int indexOf(int data);PNode header NULL; //头尾结点的位置 PNode ender NULL;int main() {add(create(1));add(create(2));add(create(3));add(create(4));insert_behind(2, create(9));//remove_index(1);remove_data(9);printf(%d\n, indexOf(4));return 0; }PNode create(int data) {PNode newNode (PNode)malloc(sizeof(NODE));newNode-data data;newNode-next NULL;return newNode; }void add(PNode node) {if (header NULL){header ender node;}else{ender-next node;endernode;}}/*理想的在后面插入数据*/ void insert_behind(int index, PNode node) {PNode p header;for (int i 0; i index; i){p p-next;}//保留p的下一个PNode q p-next;node-next q;p-next node; }void remove_index(int index) {PNode p header;PNode q;for (int i 0; i index; i){q p;p p-next;}PNode m p-next;q-next m;free(p); }void remove_data(int data) {PNode p header;PNode q;while (p-data ! data){q p;p p-next;}PNode m p-next;q-next m;free(p);}int size() {PNode p header;int i0;while (p!NULL){i;p p-next;}return i; }int get(int index) {PNode p header;for (int i 0; i index; i){p p-next;}return p-data; }int indexOf(int data) {int index0;PNode p header;while (p-data ! data){index;p p-next;}return index; }至此对于一个静态链表的增删改查就结束了 链表的增删改查完整功能链表增删改查组件化封装 大家的点赞、收藏、关注将是我更新的最大动力 欢迎留言或私信建议或问题。 大家的支持和反馈对我来说意义重大我会继续不断努力提供有价值的内容如果本文哪里有错误的地方还请大家多多指出(●◡●)
http://www.w-s-a.com/news/523071/

相关文章:

  • 个人备案网站可以做论坛吗电商推广方式有哪些
  • 网站建设 自适应国内最近的新闻
  • 校园网站开发背景吴江网站建设公司
  • 网站开发工程师发展趋势山东省建设工程电子信息网站
  • 适合大学生创业的网站建设类型吉林省舒兰市建设银行网站
  • 呼和浩特网站建设哪家好培训学校加盟费用
  • 网站如何做友情链接有道云笔记WordPress
  • 贵阳企业网站建设制作赤峰浩诚网站建设公司
  • asp官方网站微信模板素材
  • wordpress 留言给站长发邮件做百度推广员赚钱吗
  • 北京建站公司做网站价格专门找人做软件的网站
  • 商务网站的特点ui软件界面设计
  • 广州个性化网站开发网站索引量是什么意思
  • 公司网站制作专业公司python做后台网站的多吗
  • 桂林建站平台哪家好给别人做网站怎么收取费用
  • python做网站显示表格用visual做的网站
  • 彩票网站建设需要什么聊城网站建设首选天成网络
  • 安徽建设工程网站wordpress标签云代码
  • 推荐佛山顺德网站建设手机网站建设域名空间
  • 电子商务网站建设策划书例子企业官网用什么cms系统
  • 网站栏目设计怎么写平面设计接单报价表
  • 做网站美工要学什么网站推广的方法包括
  • 哪个网站可以做笔译兼职wordpress加表单
  • 百度站内搜索 wordpress微餐饮建站费用
  • 用什么做网站的访问量统计制作手工作品
  • 微信公众号搭建网站河南卫生基层系统网站建设
  • steam账号注册网站重庆手机版建站系统哪家好
  • 中新生态城建设局门户网站wordpress云盘视频播放
  • 大型网站开发基本流程wordpress记录用户搜索
  • 云服务器安装win系统做网站wordpress边栏扩大尺寸