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

广州网络营销网站建设网页游戏传奇世界

广州网络营销网站建设,网页游戏传奇世界,网页制作作业代码,青岛关键词优化报价目录 链表基本操作 删除重复元素 查找倒数第N个节点 查找中间节点 约瑟夫环 循环链表 合并有序链表 逆置链表 逆置链表(双向链表) 链表基本操作 //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail…目录 链表基本操作 删除重复元素  查找倒数第N个节点 查找中间节点 约瑟夫环 循环链表 合并有序链表 逆置链表 逆置链表(双向链表) 链表基本操作 //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail NULL;void create_list(unsigned char elem) {struct node *p (struct node *)malloc(sizeof(struct node));p-elem elem;p-next NULL;if(head NULL)head p;elsetail-next p;tail p; }void insert_node(int pos, unsigned char elem) {struct node *pre;pre head;int i 0;struct node *p (struct node *)malloc(sizeof(struct node));if(pos 0){p-elem elem;p-next head;head p;}else{while(i pos - 1){pre pre-next;i;}p-elem elem;p-next pre-next;pre-next p;if(p-next NULL)tail p;} }void delete_node(int pos) {struct node *pre, *p;pre head;int i 0;if(pos 0){head head-next;free(pre);}else{while(i pos - 1){pre pre-next;i;}p pre-next;pre-next p-next;if(p-next NULL)tail pre;free(p);} }void print_linklist(void) {struct node *p;for(p head; p; p p-next)printf(%c, p-elem);printf(\n); }int search(unsigned char elem) {struct node *p;for(p head; p; p p-next)if(p-elem elem)return 1;return 0; }//linklist.h#ifndef LINKLIST_H__ #define LINKLIST_H__#include stdio.hstruct node {unsigned char elem;struct node *next; };void create_list(unsigned char elem); void insert_node(int pos, unsigned char elem); void delete_node(int pos); void print_linklist(void); int search(unsigned char elem);#endif //main.c#include stdio.h #include linklist.hint main(void) {create_list(A);create_list(B);create_list(C);create_list(D);print_linklist();delete_node(0);print_linklist();insert_node(0, F);insert_node(2, Z);print_linklist();if(search(C))printf(the elem is found in the linklist\n);elseprintf(Can not find it\n);return 0; }删除重复元素  //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail NULL;void create_list(unsigned int elem) {struct node *p (struct node *)malloc(sizeof(struct node));p-elem elem;p-next NULL;if(head NULL)head p;elsetail-next p;tail p; }void insert_node(int pos, unsigned int elem) {struct node *pre;pre head;int i 0;struct node *p (struct node *)malloc(sizeof(struct node));if(pos 0){p-elem elem;p-next head;head p;}else{while(i pos - 1){pre pre-next;i;}p-elem elem;p-next pre-next;pre-next p;if(p-next NULL)tail p;} }void delete_node(int pos) {struct node *pre, *p;pre head;int i 0;if(pos 0){head head-next;free(pre);}else{while(i pos - 1){pre pre-next;i;}p pre-next;pre-next p-next;if(p-next NULL)tail pre;free(p);} }void print_linklist(struct node *linklist_head) {struct node *p;for(p linklist_head; p; p p-next)printf(%5d, p-elem);printf(\n); }int search(unsigned int elem) {struct node *p;for(p head; p; p p-next)if(p-elem elem)return 1;return 0; }void delete_repeat(struct node *head) {int flag[10] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};struct node *p head;struct node *q NULL;flag[p-elem] 1;while(p-next ! NULL){if(flag[p-next-elem] 0){flag[p-next-elem] 1;p p-next;}else{q p-next;p-next q-next;free(q);}} }//linklist.h#ifndef LINKLIST_H__ #define LINKLIST_H__#include stdio.hextern struct node *head; extern struct node *tail;struct node {unsigned int elem;struct node *next; };void create_list(unsigned int elem); void insert_node(int pos, unsigned int elem); void delete_node(int pos); void print_linklist(struct node *linklist_head); int search(unsigned int elem); void delete_repeat(struct node *head);#endif //main.c#include stdio.h #include linklist.hint main(void) {create_list(1);create_list(2);create_list(8);create_list(2);create_list(3);create_list(9);create_list(4);create_list(6);create_list(4);create_list(8);create_list(7);create_list(5);create_list(2);create_list(9);create_list(6);print_linklist(head);delete_repeat(head);print_linklist(head);return 0; }查找倒数第N个节点 //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail NULL;void create_list(unsigned int elem) {struct node *p (struct node *)malloc(sizeof(struct node));p-elem elem;p-next NULL;if(head NULL)head p;elsetail-next p;tail p; }void insert_node(int pos, unsigned int elem) {struct node *pre;pre head;int i 0;struct node *p (struct node *)malloc(sizeof(struct node));if(pos 0){p-elem elem;p-next head;head p;}else{while(i pos - 1){pre pre-next;i;}p-elem elem;p-next pre-next;pre-next p;if(p-next NULL)tail p;} }void delete_node(int pos) {struct node *pre, *p;pre head;int i 0;if(pos 0){head head-next;free(pre);}else{while(i pos - 1){pre pre-next;i;}p pre-next;pre-next p-next;if(p-next NULL)tail pre;free(p);} }void print_linklist(struct node *linklist_head) {struct node *p;for(p linklist_head; p; p p-next)printf(%5d, p-elem);printf(\n); }int search(unsigned int elem) {struct node *p;for(p head; p; p p-next)if(p-elem elem)return 1;return 0; }int find_mid(struct node *linklist_head) {struct node *p;struct node *q;p q linklist_head;while(p ! NULL p-next ! NULL){p p-next-next;q q-next;}return q-elem; }int find_last_nth(struct node *linklist_head, int n) {int i;struct node *p;struct node *q;p q linklist_head;for(i 0; i n-1; i)p p-next;while(p-next ! NULL){p p-next;q q-next;}return q-elem; }//linklist.h#ifndef LINKLIST_H__ #define LINKLIST_H__#include stdio.hextern struct node *head; extern struct node *tail;struct node {unsigned int elem;struct node *next; };void create_list(unsigned int elem); void insert_node(int pos, unsigned int elem); void delete_node(int pos); void print_linklist(struct node *linklist_head); int search(unsigned int elem); int find_mid(struct node *linklist_head); int find_last_nth(struct node *linklist_head, int n);#endif //main.c#include stdio.h #include linklist.hint main(void) {int n;create_list(1);create_list(2);create_list(3);create_list(4);create_list(5);create_list(6);create_list(7);create_list(8);create_list(9);create_list(10);print_linklist(head);printf(Please enter the last one you want to show:);scanf(%d, n);printf(the last n :%d\n, find_last_nth(head, n));return 0; }查找中间节点 //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail NULL;void create_list(unsigned int elem) {struct node *p (struct node *)malloc(sizeof(struct node));p-elem elem;p-next NULL;if(head NULL)head p;elsetail-next p;tail p; }void insert_node(int pos, unsigned int elem) {struct node *pre;pre head;int i 0;struct node *p (struct node *)malloc(sizeof(struct node));if(pos 0){p-elem elem;p-next head;head p;}else{while(i pos - 1){pre pre-next;i;}p-elem elem;p-next pre-next;pre-next p;if(p-next NULL)tail p;} }void delete_node(int pos) {struct node *pre, *p;pre head;int i 0;if(pos 0){head head-next;free(pre);}else{while(i pos - 1){pre pre-next;i;}p pre-next;pre-next p-next;if(p-next NULL)tail pre;free(p);} }void print_linklist(struct node *linklist_head) {struct node *p;for(p linklist_head; p; p p-next)printf(%5d, p-elem);printf(\n); }int search(unsigned int elem) {struct node *p;for(p head; p; p p-next)if(p-elem elem)return 1;return 0; }int find_mid(struct node *linklist_head) {struct node *p;struct node *q;p q linklist_head;while(p ! NULL p-next ! NULL){p p-next-next;q q-next;}return q-elem; }//linklist.h#ifndef LINKLIST_H__ #define LINKLIST_H__#include stdio.hextern struct node *head; extern struct node *tail;struct node {unsigned int elem;struct node *next; };void create_list(unsigned int elem); void insert_node(int pos, unsigned int elem); void delete_node(int pos); void print_linklist(struct node *linklist_head); int search(unsigned int elem); int find_mid(struct node *linklist_head);#endif //main.c#include stdio.h #include linklist.hint main(void) {create_list(1);create_list(2);create_list(3);create_list(4);create_list(5);create_list(6);create_list(7);create_list(8);create_list(9);create_list(10);print_linklist(head);printf(mid %d\n, find_mid(head));return 0; }约瑟夫环 约瑟夫问题是个著名的问题N个人围成一圈第一个人从1开始报数报M的将被杀掉下一个人接着从1开始报。如此反复最后剩下一个求最后的胜利者。 例如只有三个人把他们叫做A、B、C他们围成一圈从A开始报数假设报2的人被杀掉。 ●首先A开始报数他报1。侥幸逃过一劫。 ●然后轮到B报数他报2。非常惨他被杀了 ●C接着从1开始报数 ●接着轮到A报数他报2。也被杀死了。 ●最终胜利者是C //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail NULL;void create_list(unsigned int elem) {struct node *p (struct node *)malloc(sizeof(struct node));p-elem elem;p-next NULL;if(head NULL)head p;elsetail-next p;tail p;tail-next head; }void insert_node(int pos, unsigned int elem) {struct node *pre;pre head;int i 0;struct node *p (struct node *)malloc(sizeof(struct node));if(pos 0){p-elem elem;p-next head;head p;tail-next head;}else{while(i pos - 1){pre pre-next;i;}p-elem elem;p-next pre-next;pre-next p;if(p-next head)tail p;} }void delete_node(int pos) {struct node *pre, *p;pre head;int i 0;if(pos 0){head head-next;free(pre);tail-next head;}else{while(i pos - 1){pre pre-next;i;}p pre-next;pre-next p-next;if(p-next head)tail pre;free(p);} }void print_linklist(void) {struct node *p;p head;// for(p head; p ! head; p p-next) // printf(%d, p-elem);do{printf(%5d, p-elem);p p-next;}while(p ! head);printf(\n); }int search(unsigned int elem) {struct node *p;p head;// for(p head; p; p p-next) // if(p-elem elem) // return 1;do{if(p-elem elem)return 1;p p-next;}while(p ! head);return 0; }//linklist.h#ifndef LINKLIST_H__ #define LINKLIST_H__#include stdio.hextern struct node *head; extern struct node *tail;struct node {unsigned int elem;struct node *next; };void create_list(unsigned int elem); void insert_node(int pos, unsigned int elem); void delete_node(int pos); void print_linklist(void); int search(unsigned int elem);#endif //main.c#include stdio.h #include linklist.h #include stdlib.hint main(void) {int n, k, m;int i;struct node *p, *q;printf(Please enter the number of person:);scanf(%d, n);for(i 1; i n; i)create_list(i);print_linklist();p head;printf(Please enter the start num:);scanf(%d, k);while(--k)p p-next; // printf(p-elem %d\n, p-elem);printf(Please enter the m:);scanf(%d, m);if(1 m){for(i 0; i n; i){printf(%3d, p-elem);p p-next;}printf(\n);}else{while(n--){for(i 1; i m - 1; i)p p-next;q p;p p-next;printf(%3d, p-elem);q-next p-next;free(p);p p-next;}printf(\n);}return 0; }循环链表 //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail NULL;void create_list(unsigned int elem) {struct node *p (struct node *)malloc(sizeof(struct node));p-elem elem;p-next NULL;if(head NULL)head p;elsetail-next p;tail p;tail-next head; }void insert_node(int pos, unsigned int elem) {struct node *pre;pre head;int i 0;struct node *p (struct node *)malloc(sizeof(struct node));if(pos 0){p-elem elem;p-next head;head p;tail-next head;}else{while(i pos - 1){pre pre-next;i;}p-elem elem;p-next pre-next;pre-next p;if(p-next head)tail p;} }void delete_node(int pos) {struct node *pre, *p;pre head;int i 0;if(pos 0){head head-next;free(pre);tail-next head;}else{while(i pos - 1){pre pre-next;i;}p pre-next;pre-next p-next;if(p-next head)tail pre;free(p);} }void print_linklist(void) {struct node *p;p head;// for(p head; p ! head; p p-next) // printf(%d, p-elem);do{printf(%5d, p-elem);p p-next;}while(p ! head);printf(\n); }int search(unsigned int elem) {struct node *p;p head;// for(p head; p; p p-next) // if(p-elem elem) // return 1;do{if(p-elem elem)return 1;p p-next;}while(p ! head);return 0; }//linklist.h#ifndef LINKLIST_H__ #define LINKLIST_H__#include stdio.hstruct node {unsigned int elem;struct node *next; };void create_list(unsigned int elem); void insert_node(int pos, unsigned int elem); void delete_node(int pos); void print_linklist(void); int search(unsigned int elem);#endif //main.c#include stdio.h #include linklist.hint main(void) {create_list(1);create_list(2);create_list(3);create_list(4);create_list(5);create_list(6);create_list(7);print_linklist();insert_node(0, 11);print_linklist();delete_node(6);print_linklist();delete_node(0);print_linklist();delete_node(0);print_linklist();delete_node(4);print_linklist();insert_node(0, 8);print_linklist();insert_node(5, 9);print_linklist();insert_node(2, 13);print_linklist();return 0; }合并有序链表 //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail NULL;void create_list(unsigned int elem) {struct node *p (struct node *)malloc(sizeof(struct node));p-elem elem;p-next NULL;if(head NULL)head p;elsetail-next p;tail p; }void insert_node(int pos, unsigned int elem) {struct node *pre;pre head;int i 0;struct node *p (struct node *)malloc(sizeof(struct node));if(pos 0){p-elem elem;p-next head;head p;}else{while(i pos - 1){pre pre-next;i;}p-elem elem;p-next pre-next;pre-next p;if(p-next NULL)tail p;} }void delete_node(int pos) {struct node *pre, *p;pre head;int i 0;if(pos 0){head head-next;free(pre);}else{while(i pos - 1){pre pre-next;i;}p pre-next;pre-next p-next;if(p-next NULL)tail pre;free(p);} }void print_linklist(struct node *linklist_head) {struct node *p;for(p linklist_head; p; p p-next)printf(%5d, p-elem);printf(\n); }int search(unsigned int elem) {struct node *p;for(p head; p; p p-next)if(p-elem elem)return 1;return 0; }//linklist.h#ifndef LINKLIST_H__ #define LINKLIST_H__#include stdio.hextern struct node *head; extern struct node *tail;struct node {unsigned int elem;struct node *next; };void create_list(unsigned int elem); void insert_node(int pos, unsigned int elem); void delete_node(int pos); void print_linklist(struct node *linklist_head); int search(unsigned int elem);#endif //main.c#include stdio.h #include linklist.hint main(void) {struct node *head1 NULL;struct node *head2 NULL;struct node *p NULL; //head1struct node *q NULL; //head2create_list(1);create_list(9);create_list(13);create_list(27);head1 head;print_linklist(head1);head NULL;create_list(3);create_list(5);create_list(14);create_list(81);create_list(88);create_list(95);create_list(99);head2 head;print_linklist(head2);head NULL;p head1;q head2;while(p q){if(p-elem q-elem){if(head NULL)head p;elsetail-next p;tail p;p p-next;}else{if(head NULL)head q;elsetail-next q;tail q;q q-next;}}tail-next p?p:q;print_linklist(head);return 0; }逆置链表 //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail NULL;void create_list(unsigned int elem) {struct node *p (struct node *)malloc(sizeof(struct node));p-elem elem;p-next NULL;if(head NULL)head p;elsetail-next p;tail p; }void insert_node(int pos, unsigned int elem) {struct node *pre;pre head;int i 0;struct node *p (struct node *)malloc(sizeof(struct node));if(pos 0){p-elem elem;p-next head;head p;}else{while(i pos - 1){pre pre-next;i;}p-elem elem;p-next pre-next;pre-next p;if(p-next NULL)tail p;} }void delete_node(int pos) {struct node *pre, *p;pre head;int i 0;if(pos 0){head head-next;free(pre);}else{while(i pos - 1){pre pre-next;i;}p pre-next;pre-next p-next;if(p-next NULL)tail pre;free(p);} }void print_linklist(struct node *linklist_head) {struct node *p;for(p linklist_head; p; p p-next)printf(%5d, p-elem);printf(\n); }int search(unsigned int elem) {struct node *p;for(p head; p; p p-next)if(p-elem elem)return 1;return 0; }int find_mid(struct node *linklist_head) {struct node *p;struct node *q;p q linklist_head;while(p ! NULL p-next ! NULL){p p-next-next;q q-next;}return q-elem; }int find_last_nth(struct node *linklist_head, int n) {int i;struct node *p;struct node *q;p q linklist_head;for(i 0; i n-1; i)p p-next;while(p-next ! NULL){p p-next;q q-next;}return q-elem; }void reverse_linklist(struct node *linklist_head) {struct node *p, *n;p linklist_head-next;linklist_head-next NULL;while(p-next ! NULL){n p-next;p-next linklist_head;linklist_head p;p n;}p-next linklist_head;linklist_head p;head linklist_head; }//linklist.h#ifndef LINKLIST_H__ #define LINKLIST_H__#include stdio.hextern struct node *head; extern struct node *tail;struct node {unsigned int elem;struct node *next; };void create_list(unsigned int elem); void insert_node(int pos, unsigned int elem); void delete_node(int pos); void print_linklist(struct node *linklist_head); int search(unsigned int elem); int find_mid(struct node *linklist_head); int find_last_nth(struct node *linklist_head, int n); void reverse_linklist(struct node *linklist_head);#endif //main.c#include stdio.h #include linklist.hint main(void) {int n;create_list(1);create_list(2);create_list(3);create_list(4);create_list(5);create_list(6);create_list(7);create_list(8);create_list(9);create_list(10);print_linklist(head);reverse_linklist(head);print_linklist(head);return 0; }逆置链表(双向链表) //linklist.c#include linklist.h #include stdlib.hstruct node *head NULL; struct node *tail NULL;void create_list(unsigned int elem) {struct node *p (struct node *)malloc(sizeof(struct node));p-elem elem;p-pre NULL;p-next NULL;if(head NULL)head p;else{tail-next p;p-pre tail;}tail p; }void insert_node(int pos, unsigned int elem) {struct node *pre;pre head;int i 0;struct node *p (struct node *)malloc(sizeof(struct node));if(pos 0){p-elem elem;p-next head;head-pre p;p-pre NULL;head p;}else{while(i pos - 1){pre pre-next;i;}p-elem elem;p-pre pre;p-next pre-next;if(p-next ! NULL)pre-next-pre p; pre-next p;if(p-next NULL)tail p;} }void delete_node(int pos) {struct node *pre, *p;pre head;int i 0;if(pos 0){head head-next;head-pre NULL;free(pre);}else{while(i pos - 1){pre pre-next;i;}p pre-next;pre-next p-next;if(p-next ! NULL)p-next-pre pre;else//if(p-next NULL)tail pre;free(p);} }void print_linklist(void) {struct node *p;for(p head; p; p p-next)printf(%5d, p-elem);printf(\n); }int search(unsigned int elem) {struct node *p;for(p head; p; p p-next)if(p-elem elem)return 1;return 0; }void reverse_print_linklist(void) {struct node *p;for(p tail; p; p p-pre)printf(%5d, p-elem);printf(\n); }//linklist.h#ifndef LINKLIST_H__ #define LINKLIST_H__#include stdio.hstruct node {unsigned int elem;struct node *pre;struct node *next; };void create_list(unsigned int elem); void insert_node(int pos, unsigned int elem); void delete_node(int pos); void print_linklist(void); int search(unsigned int elem); void reverse_print_linklist(void);#endif //main.c#include stdio.h #include linklist.hint main(void) {create_list(1);create_list(2);create_list(3);create_list(4);create_list(5);create_list(6);create_list(7);print_linklist();reverse_print_linklist(); /*insert_node(0, 11);print_linklist();delete_node(6);print_linklist();delete_node(0);print_linklist();delete_node(0);print_linklist();delete_node(4);print_linklist();insert_node(0, 8);print_linklist();insert_node(5, 9);print_linklist();insert_node(2, 13);print_linklist(); */ return 0; }
http://www.yutouwan.com/news/200530/

相关文章:

  • 微信企业网站 源码东阳建设网站
  • 移动网站建设自助建站注册公司一般需要多少钱
  • 做网站赚什么钱童装 技术支持 东莞网站建设
  • 北京通网站建设价格低wordpress 采集微信公众号
  • 招聘网站建设需求分析开发公司交房前保洁谁承担
  • 安徽省建设厅到底哪个网站高端品牌网站设计
  • 重庆手机网站制作虎年ppt模板免费下载
  • 小豪自助建站网站慢用台服务器做跳板
  • 广西建设厅网站地址怎么做可以访问网站连接加密
  • 淄博网站建设多广东建设行业信息网
  • 邢台市建设局培训中心网站开发一个app多少钱
  • 有哪些网站开发公司全国企业信用信息公示系统网站
  • 杭州网站运营十年乐云seo建自己的网站做外贸
  • 用哪个平台做网站好湖北省建设厅建筑资料官方网站
  • 成都学校网站建开发者头条
  • 如何用wordpress快速建站餐厅类网站模板
  • 做网站美工网站开发外包公司有哪些部门
  • 文化传媒建设网站海报制作软件免费版
  • 网站建设毕业读书笔记phpcms 恢复网站
  • 个人成立公司怎么做企业网站海淀企业网站建设
  • 可以做任务的网站wordpress queryposts
  • 优斗士网站建设怎么注册一个网站做色流
  • 福建省建设工程监理协会网站虚拟空间可以做视频网站么
  • 云服务器可以做网站吗免费正规大数据查询平台
  • iis添加asp网站创新的响应式网站建设
  • 吉安做网站的随州有哪些网站建设的公司
  • 028网站建设工作室电商网站建设那家好
  • 做购物网站需要学哪些个人求职简历模板免费下载
  • 建设网站方式有哪些松江车墩网站建设
  • 网站推广找哪家公司好做图书馆网站的语言