程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 數據結構 - 簡單選擇排序(simple selection sort) 詳解 及 代碼(C++)

數據結構 - 簡單選擇排序(simple selection sort) 詳解 及 代碼(C++)

編輯:C++入門知識

數據結構 - 簡單選擇排序(simple selection sort)

 

 

選擇排序(selection sort) : 每一趟在n-i+1個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄.

 

簡單選擇排序(simple selection sort) : 通過n-i次關鍵字之間的比較, 從n-i+1個記錄中選出關鍵字最小的記錄, 並和第i個記錄交換.

 

選擇排序需要比較n(n-1)/2次, 即(n-1)+(n-2)+...+1 = [(n-1)+1](n-1)/2次, 時間復雜度是O(n^2).

 

簡單選擇排序的主要步驟是: 1. 選出較小元素的位置. 2. 交換.

 

代碼:

 

/*
 * SimpleSelectionSort.cpp
 *
 *  Created on: 2014.6.5
 *      Author: Spike
 */

#include 
#include 

void print(const std::vector& L) {
	for (auto i : L) {
		std::cout << i <<  ;
	}
	std::cout << std::endl;
}

int SelectMinKey(std::vector& L, const size_t p) {
	int min = p;
	for (size_t i=p+1; i& L) {
	for (size_t i=0; i L = {49, 38, 65, 97, 76, 13, 27, 49, 55, 4};
	SelectSort(L);
	print(L);

}

輸出:

 

 

4 38 65 97 76 13 27 49 55 49 
4 13 65 97 76 38 27 49 55 49 
4 13 27 97 76 38 65 49 55 49 
4 13 27 38 76 97 65 49 55 49 
4 13 27 38 49 97 65 76 55 49 
4 13 27 38 49 49 65 76 55 97 
4 13 27 38 49 49 55 76 65 97 
4 13 27 38 49 49 55 65 76 97 
4 13 27 38 49 49 55 65 76 97 
4 13 27 38 49 49 55 65 76 97 
4 13 27 38 49 49 55 65 76 97 


 

/

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved