演算法思想
選擇排序的思想其實和氣泡排序有點類似,都是在一次排序後把最小的元素放到最前面。但是過程不同,氣泡排序是通過相鄰的比較和交換。而選擇排序是通過對整體的選擇。
演算法思想:每一趟從前往後查詢出值最小的索引(下標),最後通過比較是否需要交換。每一趟都將最小的元素交換到最前面。
objc版
swift版- (void)selectsort:(int )arr len:(int)len
}// 如果min與i不相等,說明有比i位置更小的,所以需要交換
if (min != i)
}}
func selectsort(var arr: [int]) ->[int]
}// 如果min與i不相等,說明有比i位置更小的,所以需要交換
ifmin != i
} return arr
}
Swift ObjC 氣泡排序
氣泡排序核心思想 演算法最講究的就是演算法的思想,只要將演算法思想想明白了,就可以通過偽 來寫出演算法,那麼再使用對應的語言來實現就可以了。氣泡排序的核心思想就是通過與相鄰元素的比較和交換,把小的數交換到最前面。因為這個過程類似於水泡向上公升一樣,因此被命名為氣泡排序。時間複雜度 從演算法思想可知,...
排序 選擇排序 選擇排序 堆排序
寫在前面 上傳github交換排序選擇排序 堆排序 選擇排序 顧名思義,我們就可以猜到,它是原則合適的元素放到合適的位置 從圖中,我們可以得到 1.用第乙個元素,和其他所有的元素進行比較,找出最小的,然後進行交換 2.然後進行,資料的遞增 3.直到資料全部有序 void selectsort int...
選擇排序 直接選擇排序
演算法思想 在每一趟的排序中,從待排序列中選出關鍵字最小或者最大的元素放在其最終的位置上 過程分析 在第i趟直接排序中,通過n i次關鍵字的比較,從n i 1個元素中選出關鍵字最小的元素 與第i個元素進行交換。經過n 1趟比較,直到表有序為止 效能分析 時間複雜度o n 2 include defi...