参考代码: #include<stdio.h> #include<stdlib.h> typedef struct _person { int date; struct _person *next; }person; //使用typedef,后面可直接用person表示该类型,可省略struct _person person _create(int n) //创建链表 { int i; person *head = (person*)malloc(sizeof(person));//建立头指针 person *p = head; p->next = NULL; for(i=1;i<=n;i++){ //建立n节链表 person *q = (person*)malloc(sizeof(person)); q->date = i; p->next = q; //在原来的基础上增加节点 p = q; //再将前一个指针后移一位 q->next = NULL; } p->next = head->next; //将链表首尾相接成环形 free(head); //释放头指针,避免读到 return *p; //p是最后一个节点 } int function(person *m) { person *p = NULL; int count=0; while(m->next != m){ if(count == 2){ p = m->next; //删除节点 m->next = p->next; free(p); count = 0; } count++; m = m->next; } return m->date; } int main() { int n; person *m = (person*)malloc(sizeof(person)); scanf("%d",&n); *m = _create(n); printf("%d",function(m)); free(m); return 0; }
0.0分
0 人评分
弟弟的作业 (C++代码)浏览:957 |
众数问题 (C语言代码)浏览:3569 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:715 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:670 |
C语言程序设计教程(第三版)课后习题9.8 (Java代码)浏览:1674 |
【计算两点间的距离】 (C语言代码)浏览:927 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:781 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:613 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:577 |
妹子杀手的故事 (C语言代码)浏览:1297 |