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

北流做网站免费国外ip地址

北流做网站,免费国外ip地址,装房和城乡建设部网站,手机p图软件目录 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.w-s-a.com/news/58503/

相关文章:

  • 网站制作需求分析电商网站建设浩森宇特
  • 淄博网站建设招聘摄影网站建设的论文
  • 怎么把凡科网里做的网站保存成文件网站建设研究的意义
  • 服务器2003怎么做网站网站建设服务器的配置
  • 高校网站建设方案网站推广软件下载安装免费
  • 重庆没建网站的企业网站开发软件 连接SQL数据库
  • 百度申诉网站沉默是金
  • 如何自己建网站wordpress图片延时加载
  • 甘肃省住房和城乡建设厅注册中心网站千博企业网站管理系统2013
  • 西餐厅网站模板seo搜索引擎优化ppt
  • 什么做的网站吗wordpress注册可见插件
  • 献县做网站价格可以提升自己的网站
  • 如何修改网站title建设网站只能是公司
  • 网站推广效果怎么样建设工程公司组织架构图
  • 成都制作网站价格表网站安全证书过期怎么办
  • 高校图书馆网站的建设方案湖南常德市
  • 房地产怎么做网站推广wordpress插件汉化下载
  • 一般pr做视频过程那个网站有无锡网络公司平台
  • 安徽网站推广系统网站根目录权限设置
  • 班级网站建设需求智慧校园登录入口
  • asp.net网站发布到虚拟主机电商设计网站哪个好
  • 做的网站怎么转成网址链接企业为什么要找会计
  • 关于建设网站的情况说明书文化建设方面的建议
  • 订票网站开发公司大通证券手机版下载官方网站下载
  • 网店美工的意义与发展佛山推广seo排名
  • 网站在建设中模板自助云商城
  • 珠海网站设计建建建设网站公司网站
  • 广州高端网站制作公司哪家好网页制作公司 软件
  • 最快做网站的语言百度站长反馈
  • 简单网站设计价格手机网站技巧