单链表变形 如 1 2 3 4 5 变为 1 3 5 4 2 如1 2 3 4 变为 1 3 4 2
来源:互联网 发布:巴基斯坦工作知乎 编辑:程序博客网 时间:2024/06/15 20:07
单链表变形 如 1 2 3 4 5 变为 1 3 5 4 2 如1 2 3 4 变为 1 3 4 2
(就是拆分链表 把偶数为反过来接在奇数位后面)
基本思路是,先把链表分成两个部分,即偶数节点部分和奇数节点部分。然后,把偶数节点部分的链表进行逆序,然后连接到奇数节点部分的链表。代码如下
void Reverse_Link(LNode *&head) //把一个链表逆序的函数{LNode *p1,*p2,*p3;p1=head;p2=head->next;p3=p2;while(p2){p3=p2->next;p2->next=p1;p1=p2;p2=p3;}head->next=NULL;head=p1;}void Split_Link(LNode *&head){LNode *p1,*p2,*p3;p1=head;p2=p3=head->next;while(1)//拆分链表,分成两个链表,一个链表的头部仍为head,另外一个链表的头为p2{p1->next=p3->next;p1=p1->next;p3->next=p1->next;p3=p3->next;if (p3==NULL){break;}}Reverse_Link(p2); //将偶数节点逆序p1->next=p2; //连接两个链表}
- 单链表变形 如 1 2 3 4 5 变为 1 3 5 4 2 如1 2 3 4 变为 1 3 4 2
- 链表相邻元素翻转,如1->2->3->4->5->6-7,翻转后变为:2->1->4->3->6->5->7。
- 将数组的前n位顺序移到数组后面,后面的移到前面,如1 2 3 4 5 6 7,若n=3;则变为4 5 6 7 1 2 3
- 表达如4 + 2 * 3
- 类似aaa?a=1&b=2&c=3&d=4,如何将问号以后的数据变为键值对
- 输入几个数,如输入5个数,1,2,3,4,5,输出
- MariaDB10.1.20 自增加变量变为2修改为1
- 四则运算,简单算术题(如:1*2+3/3*4+8)
- 传入一个数组如 {1,2,3,4,5,6,7} 从某数之后开始移动
- c语言:输入一个数,从高位向低位输出,如:输入12345,输出1 2 3 4 5
- nginx中 $1,$2,$3是什么 如:set $para $1
- 用java代码把1,2,3,4.。。。小写数字,变成大写得壹,贰,叁.可是数字是随机产生得,例如128要变为壹佰贰拾捌
- 智力题-2:序列变为0
- 求1! + 2! + 3! + 4! + …… + 10!的和 叹号表示阶乘,如4! = 1 * 2 * 3 * 4
- Linux 操作系统的权限为什么是1,2,4 而不是 1,2,3?如何用二进制来做权限管理
- 将一个整形数组逆序,如数组a[5]={1,2,3,4,5},逆序之和数组a变成了{5,4,3,2,1};
- 给你一组字符如{1,3,4,7,2,1,1,5,2},让你输出里面出现次数最多且数值最大的一个,出现几次
- 各位同仁求教了!如何用VB解决1*2*3*4*5*一直到结果为40000的最大的数
- 搬家声明
- UIWebView使用本地资源
- 常量的强制转换的疑惑const_cast<类型>(表达式)
- CF 229C Triangles
- c语言的一些小细节
- 单链表变形 如 1 2 3 4 5 变为 1 3 5 4 2 如1 2 3 4 变为 1 3 4 2
- 03 设计模式之--修饰设计模式
- FILETIME使用,获取文件的创建时间,修改时间和访问时间
- delphi 7在win7下运行出现'C:\program Files\\Borland\Delphi7\Bin\delphi32.$$$'的改正
- spoj 1470 Another Sequence Problem
- 没有文件扩展“.js”的脚本引擎 解决
- poj 3411 搜索+剪枝
- OpenCV+VS2010+JavaCV+Eclipse+Win7
- 从技术走向IT管理