冒泡排序代碼及思想
1,冒泡排序
1,冒泡排序思想

1. 第一輪:將第一個元素與第二個元素進行比較,選出較大元素,若第一個元素大,交換第一個元素跟第二個元素的位置,然后用較大元素與第三個元素進行比較,再選出較大元素,依次往后,將最大的元素放在最后一個位置,即是陣列中的最大元素,比較的次數為arr.length-1
2. 第二輪:與前面類似,將除了最大元素,剩下的元素進行比較,選出第二大元素,放在最后第二個位置,比較的次數為arr.length-2
3. 第i輪:比較的次數為arr.length-i
2,代碼實作:
//冒泡排序
private static void demo10() {
int []arr={1,5,12,36,55,78,98};
//冒泡排序---升序
System.out.println("升序:");
for (int i = 1; i < arr.length; i++) {
for (int j = 0; j < arr.length - i; j++) {
if (arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//遍歷陣列
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
//冒泡排序------降序
System.out.println(" ");
System.out.println("降序:");
for (int i = 1; i < arr.length; i++) {
for (int j = 0; j < arr.length - i; j++) {
if (arr[j]<arr[j+1]){
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
//遍歷陣列
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
}
2,選擇排序
1,選擇排序的思想

圖畫的有點丑哈,多多見諒呀!
第一輪:選出最小的元素,與第一個元素交換位置
第二輪:選出第二小的元素,與第二位置的元素交換位置
第三輪:選出第三小元素,與第三個位置的元素交換位置
第i輪:選出第i小的元素,與第i個位置的元素交換位置
2,代碼實作:
//選擇排序
private static void demo11() {
int []arr={1,5,12,36,55,78,98};
//選擇排序----升序
System.out.println("升序:");
for (int i = 0; i < arr.length-1; i++) {
int mindex=i;
for (int j = i+1; j <= arr.length-1; j++) {
if (arr[j]<arr[mindex]){
mindex=j;
}
}
int temp=arr[i];
arr[i]=arr[mindex];
arr[mindex]=temp;
}
//遍歷陣列
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
//選擇排序----降序
System.out.println(" ");
System.out.println("降序:");
for (int i = 0; i < arr.length-1; i++) {
int mindex=i;
for (int j = i+1; j <= arr.length-1; j++) {
if (arr[j]>arr[mindex]){
mindex=j;
}
}
int temp=arr[i];
arr[i]=arr[mindex];
arr[mindex]=temp;
}
//遍歷陣列
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/232024.html
標籤:java
