Java 冒泡排序与快速排序的实现
来源:互联网 发布:网络p2p理财哪家好 编辑:程序博客网 时间:2024/05/16 14:53
冒泡排序
基本特点
(1)基于交换思想的排序算法
(2)从一端开始,逐个比较相邻的两个元素,发现倒序即交换。
(3)一次遍历,一定能将其中最大(小)的元素交换到其最终位置上
排序过程模拟
代码实现
static void Bubble_Sort(int array[]){ for(int i=0;i<array.length;i++) { for(int j=0;j<array.length-i-1;j++) { if(array[j]<array[j+1]) { int temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } } System.out.print("第"+(i+1)+"次排序的结果:"); for(int c=0;c<array.length;c++) { System.out.print(array[c]+"\t"); } System.out.println(); } System.out.print("最终排序结果:"); for(int c=0;c<array.length;c++){ System.out.print(array[c]+"\t"); } }
快速排序
基本思想
选定一个元素作为中间元素,然后将表中所有元素与改中间元 素相比较,将表中比中间元素小的元素调到表的前面,将比中间元素大的元素 调到后面,再将中间元素放在
这两部分之间以作为分界点,这样便得到一个划分。 然后再对左右两部分分别进行快速排序,直到每个子表仅有一个元素或为空表为止。
划分方法
1.中间元素的选择:作为参考点的中间数的选择没有特别的规定, 本次默认为第一个元素。
2.中间元素所占空间可能被其他元素占用,为此,可先保存该元素的值到其他位置以腾出起空间。
3.这样,前面便有一个空位置(i),可从最后面开始往前搜索一个比中间数大的元素,并将其放置到后面的这个位置上。
4.此刻,后面便有了一个空位置(j),可从前面开始往后搜索一个比中间数小的元素,并将其放置到前面的位置。4.重复1 2 ,直到两边搜索的空位重合(i=j)。
排序过程模拟
代码实现
static int partition(int array[],int start,int end){ int temp=array[start]; int i=start; int j=end-1; while(i!=j){ while(i<j&&array[j]>temp){ j--; } if(i<j){ array[i]=array[j]; i++; } while(i<j&&array[i]<temp){ i++; } if(i<j){ array[j]=array[i]; j--; } } array[i]=temp; return i; } static void QuickSort(int a[],int s,int e){ if(s<e){ int i=partition(a, s, e ); QuickSort(a, s,i-1); QuickSort(a, i+1, e); } }
阅读全文
0 0
- Java 冒泡排序与快速排序的实现
- 冒泡排序,选择排序,快速排序的Java实现
- java实现的冒泡、选择、快速排序
- 冒泡,快速,选择排序的Java实现
- java实现冒泡,快速排序
- PHP实现快速排序与冒泡排序
- 冒泡排序和快速排序java实现
- java实现冒泡排序和快速排序
- java实现冒泡排序和快速排序
- 快速排序算法和冒泡排序算法的java实现
- java冒泡排序与快速排序
- Java冒泡排序与快速排序
- java实现冒泡排序,插入排序,选择排序,快速排序
- java的冒泡排序和快速排序
- Java的冒泡排序和快速排序.
- 冒泡排序、选择排序、插入排序、快速排序算法的时间性能分析(java实现)
- java 实现插入排序冒泡排序快速排序
- Java实现交换排序 之 冒泡排序和快速排序
- 栈的Java简单实现
- Java 实现二叉树的构建以及3种遍历方法
- 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
- Java 通过先序中序序列生成二叉树
- Java 循环队列的实现
- Java 冒泡排序与快速排序的实现
- Java 线程池的实现
- 网络通信中基于套接字输入流和输出流的创建
- Java TCP通信概念及实例
- JSP/Servlet Web 学习笔记 DayOne
- JSP/Servlet Web 学习笔记 DayTwo
- Java UDP的简单实例以及知识点简述
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
- golang 中regexp包用法