数据结构与算法c++实现(3)之选择排序
选择排序时间复杂度O(n*n),比冒泡排序的优点是,减少了多次的交换顺序。#include<iostream>using namespace std;void select_sort(int list[],int n){int min;for(int i = 0; i < n-1; ++i){min = i;for(int j = i+1;j...
·
选择排序
时间复杂度O(n*n),比冒泡排序的优点是,减少了多次的交换顺序。
#include<iostream>
using namespace std;
void select_sort(int list[],int n){
int min;
for(int i = 0; i < n-1; ++i){
min = i;
for(int j = i+1;j < n; ++j){
if(list[j] < list[min]){
min = j;
}
}
swap(list[i],list[min]);
}
}
//void select_sort(int list[],int n){
// int* p;
// for(int i = 0; i < n-1; ++i){
// p = &list[i];
// for(int j = i;j < n; ++j){
// if(list[j] < *p){
// p = &list[j];
// }
// }
// swap(list[i],*p);
// }
//}
int main(){
int array[20];
for(int i = 0; i < 20; i++){
array[i] = rand()%100;
}
for(int i = 0; i < 20; ++i){
cout << array[i] << " ";
}
cout << endl;
select_sort(array,20);
for(int i = 0; i < 20; ++i){
cout << array[i] << " ";
}
return 0;
}
同样我写了两种方法,同样都可以工作。
更多推荐
已为社区贡献1条内容
所有评论(0)