链表的冒泡排序
2015-09-27 19:51
288 查看
题目
冒泡法实现链表排序public class ListNode{ int val; ListNode next; public ListNode(int val) { this.val = val; } }
分析
冒泡排序,每次扫描一趟获得最大的值。此题注意链表节点的交换。public ListNode Bubble(ListNode root){ ListNode Head = root; int length = 0; while (root != null){ root = root.next; length++; } int index = 0; while (index < length -1){ ListNode cur = Head; ListNode pre = null; for (int i = 0; i < length - 1 - index; i++) { ListNode temp = cur.next; if (temp.val < cur.val){//exchange cur.next = temp.next; temp.next = cur; if (pre == null){//头指针情况 pre = temp; Head = pre; }else { pre.next = temp; pre = temp; } }else { pre = cur; cur = temp; } } index++; } return Head; }
相关文章推荐
- getchar()用法
- redis.conf配置详细解析
- Redis 作为多个Windows服务运行配置方法
- C语言保留字
- 这次来了就不走了。Java集合框架(总)
- 无线路由器连接WAN口上不了网的解决方案
- 1
- 如何编写符合web标准的XHTML文档
- Ubuntu 远程配置 openfire
- Leetcode---Remove Duplicates from Sorted List
- Mac下搭建php开发环境
- Floyed判环/龟兔算法
- 第二周(9.21-9.27)
- 关于坑爹的PopupWindow的“阻塞”争议问题:Android没有真正的“阻塞式”对话框
- Android Custom View --- Continuous Slider(连续滑动器)
- 名词解释
- [LeetCode][JavaScript]Pascal's Triangle II
- Android——DDMS简单介绍
- Android——DDMS简单介绍
- 云存储:文件的上传