先講一下異或交換兩個值:
如a=1101 b=1011
則異或運算有:
1101
^1011
---------
0110 (該值包括的是[只有a擁有的+只有b擁有的],也就是中間的兩個的11,左邊乙個是只有a擁有的,右邊乙個是b擁有的)
a=a^b;//[只有a擁有的+只有b擁有的]
b=a^b;//[只有a擁有的+只有b擁有的]^[只有b擁有的+ab共同擁有的]=[只有a擁有的+ab共同擁有的]=a
a=a^b;//同理
//冒泡
public
static
void
bubblesort
(int
arr)}}
//選擇
public
static
void
selectionsort
(int
arr)
swap
(arr, i,minindex);}
}//插入
public
static
void
insertionsort
(int
arr)
}//交換值
public
static
void
swap
(int
arr,
int i,
int j)
選擇 插入 氣泡排序
選擇 插入 氣泡排序 說明 選擇排序 selection sort 插入排序 insertion sort 與氣泡排序 bubble sort 這三個排序方式是初學排序所必須知道的三個基本排序方式,它們由於速度不快而不實用 平均與最快的時間複雜度都是o n2 然而它們排序的方式確是值得觀察與 的。解...
排序 冒泡 選擇 插入
三種簡單排序 時間複雜度 o n 空間複雜度 o 1 氣泡排序的基本思想是通過比較兩個相鄰的記錄之間的比較和交換,使關鍵碼比較小的繼續逐漸從底部移向頂部 上公升 關鍵碼比較大的逐漸從頂部移向底部 沉底 冒泡由此得名。演算法思想 設有a 1 a n 的n個資料,氣泡排序的過程可以描述為 1 首先將相鄰...
選擇 插入 氣泡排序
size medium 選擇排序 將要排序的物件分作兩部份,乙個是已排序的,乙個是未排序的,從後端未排序部份選擇乙個最小值,並放入前端已排序部份的最後乙個,例如 排序前 70 80 31 37 10 1 48 60 33 80 1.1 80 31 37 10 70 48 60 33 80 選出最小值...