【排序算法】之选择排序
2012-11-13 15:06
176 查看
//C++ Builder 6.0
//C++ Language
//--------------------------------------------------------------------------- #include <iostream> #pragma hdrstop using namespace std; //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { void select_sort(int *x, int n); int num_x[]={12,34,5,7,90,30,44,6,100,6,5}; //待排序数组 int len_x=11;//待排序数组长度 select_sort( num_x, len_x); for (int i=0; i<len_x; i++) //打印排序结果 { cout<<num_x[i]<<','; } cout<<"End"; return 0; } //--------------------------------------------------------------------------- //选择排序:从小到大 //x-数组;n-数组x的长度 void select_sort(int *x, int n) { int i, j, min, t; for (i=0; i<n-1; i++) //拿x[i]与后面的数比,i取值:0~n-2 { min = i;//假设当前下标为i的数最小,以后再调整 for( j=i+1; j<n; j++) //x[j]为x[i]后面的数 { if ( *(x+j) < *(x+min) ) { min = j;//若后面的数比前面的小,则记录它的下标,体现“选择”思想 } } if (min != i) //如果i在循环中改变了,就需要交换数据;交换总是难免的 { t = *(x+i); *(x+i) = *(x+min); *(x+min) = t; } } } //---------------------------------------------------------------------------
相关文章推荐
- 排序算法整理之选择排序
- 排序算法——选择排序
- 排序算法——选择排序
- 选择排序,冒泡排序,排序算法实现与原理
- 排序算法--------插入排序和选择排序
- 排序算法总结(2)——选择排序
- 排序算法Java实现——选择排序(直接选择排序)
- 排序算法总结(一)——选择排序
- 排序算法Java实现——选择排序(堆排序)
- 排序算法(二)——选择排序
- 排序算法——选择排序
- 选择排序---直接选择排序算法(Javascript版)
- 排序算法——选择排序
- 排序算法复习之——内部排序算法之——选择排序
- 排序算法之(2)——选择排序
- 排序算法(3)——选择排序
- 排序算法——选择排序
- 排序算法——选择排序
- 排序算法(1)——选择排序
- 【算法】排序算法(一)——选择排序