本文主要是介绍[算法与数据结构] - No.4 选择排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基本思想 每一趟 (例如第 i +1 趟, i = 0, 1, …, n-2) 在后面 n-i 个待排序记录中选出排序码最小的记录, 作为有序序列中的第 i 个记录。待到第n-1 趟作完, 待排序记录只剩下1个,就不用再选了。
算法描述:
SelectSort.cpp
#include <iostream>using namespace std;int main()
{int n;int arr [1000];cin >> n;for(int i = 0 ; i < n; i++){cin>>arr[i];}int j,k;for(k=0;k<n-1;k++){int sIndex = k;int cur = arr[k];//找到[k,n-1]最小的数及其下标for(j = k;j<n;j++){if(arr[j]<cur){sIndex = j;cur = arr[j];}}//cout<<sIndex<<endl;arr[sIndex] = arr[k];arr[k] = cur;}for(int i = 0 ; i < n; i++){cout<<arr[i]<<" ";}return 0;
}
P.S.文章不妥指出还望指正
这篇关于[算法与数据结构] - No.4 选择排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!