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

郑州集团网站建设哪家好东莞做微信小程序的公司

郑州集团网站建设哪家好,东莞做微信小程序的公司,郑州微网站开发,一个vps 几个wordpress目录 c实现链表 链表的结构定义#xff1a; 链表的结构操作#xff1a; 1、初始化链表 2、销毁链表 3、插入结点 4、输出链表数据 5、查找链表数据 扩展 代码实现 c实现链表 链表的结构定义#xff1a; /*** 链表结构定义 ***/ typedef struct Node {int data; //… 目录 c实现链表 链表的结构定义 链表的结构操作 1、初始化链表 2、销毁链表 3、插入结点 4、输出链表数据 5、查找链表数据 扩展 代码实现 c实现链表 链表的结构定义 /*** 链表结构定义 ***/ typedef struct Node {int data; //数据领struct Node * next; //指针域 }Node; 链表的结构操作 1、初始化链表 //1、初始化 Node * getNewNode(int val){Node * p (Node *)malloc(sizeof(Node)); //为新链表开辟空间p-data val; //数据域赋值p-next NULL; //指针域指向空return p; } 2、销毁链表 //2、销毁链表 void clear(Node * head){if(head NULL) return ;//不能直接释放结点如果直接释放会导致内存泄漏for(Node *p head, *q; p; p q){q p-next;free(p);}return ; } 3、插入结点 // //3.1、无头链表插入节点 // Node *insert(Node *head, int pos, int val){ // if( pos 0 ){ // //如果插入位置是0也就是头指针的位置 // //先将val值包成一个新节点然后让新节点指向原来链表的首地址再返回新链表的首地址 // Node *p getNewNode(val); // p-next head; // return p; // }// int n -1; // for (Node *p head; p; p p-next) n 1; // if(pos n) pos n;// //定义指针p找到待插入位置的前一个元素 // Node *p head; // for (int i 0; i pos; i) p p-next; // Node * node getNewNode(val); // 将val值包成一个新节点插入节点 // node-next p-next; // p-next node; // return head; //返回新链表 // } //3.2 有头链表插入节点 Node *insert2(Node *head, int pos, int val){// 虚拟头节点 指针p指向虚拟头节点 插入结点开辟新的空间Node new_head, *p new_head, *node getNewNode(val);new_head.next head;//虚拟头节点指向链表for (int i 0; i pos; i) p p-next;//找到插入前一个位置node-next p-next;p-next node;return new_head.next; //返回头结点的所指向链表的地址 } 4、输出链表数据 //4、输出链表数据 void output_linklist(Node *head){int n 0;// 先统计有多少个结点for (Node *p head; p; p p-next) n 1; for (int i 0; i n; i){printf(%3d,i);printf( );}printf(\n);for(Node *p head; p; p p-next){printf(%3d,p-data);printf(-);}printf(\n\n\n);return ; } 5、查找链表数据 //5、查找 int find(Node *head, int val){Node *p head;int n 0;while (p){if(p-data val){output_linklist(head);int len n * (3 2) 2;for (int i 0; i len; i) printf( );printf(^\n);for (int i 0; i len; i) printf( );printf(|\n);return 1;}n 1;p p-next;}return 0; } 扩展 while(~scanf(%d, n))  等价于 while(scanf(%d,n)!EOF)         EOF为End Of File的缩写通常在文本的最后存在此字符表示资料结束。EOF通常的值为-1。          while(~scanf(%d, n)) 意思就是当有值输入的时候进入while当没有值输入时就结束while。输入了值如果scanf成功读取了就返回1取反的结果不为0进入while如果scanf没有成功读取返回0取反的结果不为0进入while如果没有输入到达文件末尾则返回-1取反的结果为0结束while。 代码实现 #include stdio.h #include stdlib.h #include time.h/*** 链表结构定义 ***/ typedef struct Node {int data; //数据领struct Node * next; //指针域 }Node;/*** 链表结构操作 ***/ //1、初始化 Node * getNewNode(int val){Node * p (Node *)malloc(sizeof(Node)); //为新链表开辟空间p-data val; //数据域赋值p-next NULL; //指针域指向空return p; }// //3.1、无头链表插入节点 // Node *insert(Node *head, int pos, int val){ // if( pos 0 ){ // //如果插入位置是0也就是头指针的位置 // //先将val值包成一个新节点然后让新节点指向原来链表的首地址再返回新链表的首地址 // Node *p getNewNode(val); // p-next head; // return p; // }// int n -1; // for (Node *p head; p; p p-next) n 1; // if(pos n) pos n;// //定义指针p找到待插入位置的前一个元素 // Node *p head; // for (int i 0; i pos; i) p p-next; // Node * node getNewNode(val); // 将val值包成一个新节点插入节点 // node-next p-next; // p-next node; // return head; //返回新链表 // } //3.2 有头链表插入节点 Node *insert2(Node *head, int pos, int val){// 虚拟头节点 指针p指向虚拟头节点 插入结点开辟新的空间Node new_head, *p new_head, *node getNewNode(val);new_head.next head;//虚拟头节点指向链表for (int i 0; i pos; i) p p-next;//找到插入前一个位置node-next p-next;p-next node;return new_head.next; //返回头结点的所指向链表的地址 }//2、销毁链表 void clear(Node * head){if(head NULL) return ;//不能直接释放结点如果直接释放会导致内存泄漏for(Node *p head, *q; p; p q){q p-next;free(p);}return ; }//4、输出链表数据 void output_linklist(Node *head){int n 0;// 先统计有多少个结点for (Node *p head; p; p p-next) n 1; for (int i 0; i n; i){printf(%3d,i);printf( );}printf(\n);for(Node *p head; p; p p-next){printf(%3d,p-data);printf(-);}printf(\n\n\n);return ; }//5、查找 int find(Node *head, int val){Node *p head;int n 0;while (p){if(p-data val){output_linklist(head);int len n * (3 2) 2;for (int i 0; i len; i) printf( );printf(^\n);for (int i 0; i len; i) printf( );printf(|\n);return 1;}n 1;p p-next;}return 0; }int main(void){srand(time(0));#define MAX_OP 7Node *head NULL;for (int i 0; i MAX_OP; i){int pos rand() % (i1), val rand() % 100;printf(insert %d at %d to linklist.\n,val,pos);head insert2(head,pos,val);output_linklist(head);}int val;while (~scanf(%d, val)) {if (!find(head, val)) {printf(not found\n);}}clear(head);return 0; }
http://www.pierceye.com/news/311528/

相关文章:

  • 方正集团网站是谁做的北京最新发布信息
  • iis7.5添加php网站wordpress内容页自定义字段
  • 设计公司做网站价格图片网站收录
  • 网站做315认证广州中医药资源门户网站
  • 线上营销网站设计网站着陆页有多少个
  • 天津通用网站建设方案聊城做网站的地方
  • 政务网站建设合同dw个人网站模板下载
  • 广州网站优化服务商企业网站建设一站式服务
  • 蓝海电商怎么做广州短视频seo哪家好
  • 泸州住房和城乡建设厅网站怎么自己做微网站吗
  • 做网站上传图片自己怎么建设网站首页
  • 西安空调销售网站建设wordpress 谷歌地图
  • 网站建设投标书范本wordpress防广告屏蔽
  • 设计个人网站的步骤建设工程合同无效的情形有哪些
  • 网站竞争对手的选定一般参考什么标准的建设网站长沙
  • 通州个人做网站营销型网站建设开发
  • 乌海市网站建设基于asp的网络课程网站开发
  • 关掉自己做的网站网页设计与制作服务公司
  • 视频相亲网站开发成本分类信息网站推广的意义
  • 域名和网站网站开发项目视频
  • 色流网站怎么做东营建筑信息网
  • 做能支付的网站贵吗网络安全工程师考证
  • 下载类网站开发条件环球资源网成立时间
  • 客户如何找到做网站宣传的律师免费虚拟主机空间
  • 点击网站出现微信二维码的链接怎么做网架制造厂
  • 服装网站建设环境分析一家专门做房产特卖的网站
  • 网站推广方式方法品牌建设的阶段和步骤是什么
  • 游戏开发平台seo的定义
  • 北京住房和城乡建设部网站官网可信赖的购物网站建设
  • 网站百度一直没有收录热狗网站关键词优化