JAVA中常用的排序之冒泡、选择、插入
2013-04-17 17:59
369 查看
本人开发的一个安卓版app小游戏,疯狂猜明星android版,图标看起来很搞笑,有点京剧变脸的味道。朋友们小手一抖,下载支持下。谢谢了
JAVA中常用的排序之冒泡排序:
/**
* 冒泡排序:
* 1.比较相邻的两个数
* 2.如果左边的数大则交换两个数
* 3.第一趟结束,最后一个数最大
* 4.第二趟结束,倒数第二个数第二大
* 5.以此类推,排完数组
* @param arr 要进行排序的数组
*/
public void bubbleSort(int[] arr){
//外部循环控制走的趟数
for (int i = 0; i < arr.length-1; i++) {
//内部循环控制相邻两个数之间比较
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
JAVA中常用的排序之选择排序:
/**
*选择排序:扫描所有元素,将最小的元素和0号位元素交换位置,
*扫描剩下的所有元素,将其中的最小的元素与1号位元素交换位置
*以此类推,完成从小到大排列数组
* @param arr
*/
public void selectSort(int[] arr){
//外部循环控制循环的次数
for (int i = 0; i < arr.length-1; i++) {
/*内部循环控制比较的次数,0号位和剩下的所有数比较
*1号位和剩下的所有数比较,以此类推
*/
for (int j = i+1; j < arr.length; j++) {
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
JAVA中常用的排序之插入排序:
/**
* 插入排序:
* 1.从数组下标为1的数据开始,
* 依次将其与自身左边的元素全部和部分数据进行比较
* 并插入到适当的位置,使插入之后的数列依然保持有序
* 直至操作完最后一个数据为止
* 将数组从小到大进行插入排序
* @param arr 要排序的数组
*/
public void insertSort(int[] arr){
//插入排序循环次数
int count=0;
//移动次数
int moveCount=0;
for (int i = 1; i < arr.length; i++) {
for (int j = i-1; j >=0; j--) {
count++;
if(arr[j+1]<arr[j]){
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
moveCount++;
}
}
}
System.out.println("循环次数:= "+count+" 移动次数:= "+moveCount);
}
JAVA中常用的排序之冒泡排序:
/**
* 冒泡排序:
* 1.比较相邻的两个数
* 2.如果左边的数大则交换两个数
* 3.第一趟结束,最后一个数最大
* 4.第二趟结束,倒数第二个数第二大
* 5.以此类推,排完数组
* @param arr 要进行排序的数组
*/
public void bubbleSort(int[] arr){
//外部循环控制走的趟数
for (int i = 0; i < arr.length-1; i++) {
//内部循环控制相邻两个数之间比较
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
JAVA中常用的排序之选择排序:
/**
*选择排序:扫描所有元素,将最小的元素和0号位元素交换位置,
*扫描剩下的所有元素,将其中的最小的元素与1号位元素交换位置
*以此类推,完成从小到大排列数组
* @param arr
*/
public void selectSort(int[] arr){
//外部循环控制循环的次数
for (int i = 0; i < arr.length-1; i++) {
/*内部循环控制比较的次数,0号位和剩下的所有数比较
*1号位和剩下的所有数比较,以此类推
*/
for (int j = i+1; j < arr.length; j++) {
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
JAVA中常用的排序之插入排序:
/**
* 插入排序:
* 1.从数组下标为1的数据开始,
* 依次将其与自身左边的元素全部和部分数据进行比较
* 并插入到适当的位置,使插入之后的数列依然保持有序
* 直至操作完最后一个数据为止
* 将数组从小到大进行插入排序
* @param arr 要排序的数组
*/
public void insertSort(int[] arr){
//插入排序循环次数
int count=0;
//移动次数
int moveCount=0;
for (int i = 1; i < arr.length; i++) {
for (int j = i-1; j >=0; j--) {
count++;
if(arr[j+1]<arr[j]){
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
moveCount++;
}
}
}
System.out.println("循环次数:= "+count+" 移动次数:= "+moveCount);
}
相关文章推荐
- Java数组冒泡,选择,插入三种常用排序法及自带的快速排序法
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- Java数组排序总结(冒泡,选择,插入,希尔)
- Java_冒泡、插入、快速、选择排序
- 四种常用的排序(插入、选择、冒泡、希尔)
- 几种排序的java实现:选择、插入、冒泡、快排
- (转) Java 数组排序总结 ( 冒泡,选择,插入,希尔)
- java实现常见排序(选择,冒泡,插入,快速,希尔,堆)
- java:四种int【】数据排序,冒泡,插入,选择,快速排序
- java实现排序(冒泡、选择、快速、插入)
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- java实现冒泡,插入,选择排序
- java排序之冒泡、插入、选择、快速等排序算法
- 排序算法复习(Java实现)(二): 插入,冒泡,选择,Shell,快速排序
- 算法积累_java_插入,选择,冒泡,快速排序
- Java 常用算法 插入,冒泡,快速排序大放送
- C语言常用排序——直接插入,冒泡,选择,希尔,快速,堆排序
- 插入排序,选择排序,冒泡排序等常用排序算法(java实现)
- Java数组排序总结(冒泡,选择,插入,希尔)
- Java对一维数组排序:冒泡,选择,插入,比较效率