天天看點

資料結構與算法——選擇排序選擇排序

引言

本篇介紹選擇排序,如果你需要了解其他排序算法,請點選下面連結檢視!!!

了解更多:資料結構與算法目錄整理

選擇排序

一、選擇排序的概念

選擇排序(Selection sort)是一種簡單直覺的排序算法。它的工作原理是:第一次從待排序的資料元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小(大)元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定的排序方法。

二、算法步驟

  1. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
  2. 再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。
  3. 重複第二步,直到所有元素均排序完畢。

三、動圖示範

資料結構與算法——選擇排序選擇排序

四、代碼實作

這裡以數組 arr={10,5,8,4,9,3} 為例

for(int i=0;i<arr.length-1;i++) {
			int index=i;
			int temp=arr[i];
			for(int j=i+1;j<arr.length;j++) {
				if(arr[j]>=arr[index]) {
					index=j;
				}
			}
			arr[i]=arr[index];
			arr[index]=temp;
		}           

複制

運作結果:

資料結構與算法——選擇排序選擇排序