n個數字來排隊,兩兩相比小靠前。
外層迴圈n-1,內層迴圈n-1-i。
int
list =
newint[8
];for(
int i =
0; i < list.length-
1; i++
)for
(int i =
0; i < list.length; i++
)
1.從左至右遍歷,找到最小(大)的元素,然後與第乙個元素交換。
2. 從剩餘未排序元素中繼續尋找最小(大)元素,然後與第二個元素進行交換。
3. 以此類推,直到所有元素均排序完畢。
public
static
int[
]selectionsort
(int
array)
// 交換元素
int temp = array[i]
; array[i]
= array[min]
; array[min]
= temp;
}return array;
}
1.從第乙個元素開始,該元素可以認為已經被排序
2.取出下乙個元素,在已經排序的元素序列中從後向前掃瞄
3.如果該元素小於前面的元素(已排序),則依次與前面元素進行比較如果小於則交換,直到找到大於該元素的就則停止;
4.如果該元素大於前面的元素(已排序),則重複步驟2
5.重複步驟2~4 直到所有元素都排好序 。
public
static
int[
]insertsort
(int
array)
//如果大於,則不用繼續往前比較了,因為前面的元素已經排好序,比較大的大就是大的了。
else
break;}
}return array;
}
1.i =l; j = r; 將基準數x挖出形成第乙個坑a[i]
2.j–由後向前找比基準數小的數,找到後挖出此數填入前乙個坑a[i] 中
3.i++由前向後找比基準數大的數,找到後也挖出此數填到前乙個坑a[j] 中
4.再重複執行2,3二步,直到i==j,將基準數填入a[i] 中
public
static
int[
]quicksort
(int
array,
int left,
int right)
if(i < j)
// 從左往右找,找大於基準的數,如果該數小於基準,i++ 繼續找
while
(i < j && array[i]
< x)
if(i < j)
}// 退出時,i=j,將x填入該坑
array[i]
= x;
quicksort
(array, left, i -1)
;quicksort
(array, i +
1, right);}
return array;
}
C 排序演算法
最基本的 氣泡排序 c code using system namespace bubblesorter j public class mainclass bubblesorter sh new bubblesorter sh.sort iarrary for intm 0 m iarrary.le...
C 排序演算法
protected int bubbleup int array 氣泡排序 return array public int selectionsorter int list 選擇排序 int temp list min list min list i list i temp return list ...
C 演算法排序
不廢話,上 using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace 排序演算法 陣列 氣泡排序 選則排序 arra...