C++之选择排序
2013-11-03 21:44
155 查看
//sort //main.cpp #include <iostream> #include <iomanip> //声明打印数组 void DisplayDataArray( int *, int); //声明选择排序 void CheckSort(int *, int); //main函数 int main() { int test[6] = {12,34,2,56,4,89}; DisplayDataArray(test,6); CheckSort(test,6); DisplayDataArray(test,6); return 0; } //打印数组 void DisplayDataArray( int *pDataArray, int Count) { for (int i = 0; i < Count; ++i) { std::cout <<std::setw(6)<< pDataArray[i]; } std::cout << std::endl; } //选择排序 /* 算法: 以第一个为基准,从后面选最小的,记录下位置,在循环外交换。类推 */ void CheckSort(int *pDataArray, int count) { int pos; //用来记录位置 int tempData; //辅助空间 for(int i = 0; i < count - 1; i++) { pos = i; tempData = pDataArray[i]; for (int j = i + 1; j < count; ++j) { if (pDataArray[j] < tempData) //从小到大排序 { tempData = pDataArray[j]; pos = j; } } if (i != pos) //最小位置发生了改变,则交换 { pDataArray[pos] = pDataArray[i]; pDataArray[i] = tempData; } } }
相关文章推荐
- 关于指针的一些事情
- 文件遍历排序函数
- SQLSERVER的排序问题结果不是想要的
- SQL学习笔记四 聚合函数、排序方法
- 一根网线内的8根线哪4根是传输数据的,哪四根是防干扰的
- C/C++数据对齐详细解析
- C++中引用的使用总结
- C++中引用(&)的用法与应用实例分析
- 解析C++ 浮点数的格式化输出
- 深入分析C++中几个最不常用的关键字
- c++中inline的用法分析
- 深入解析C++ Data Member内存布局
- 从汇编看c++中默认构造函数的使用分析
- 关于C++中的友元函数的一些总结
- C++的sstream标准库详细介绍
- SQL进行排序、分组、统计的10个新技巧分享
- 基于C++自动化编译工具的使用详解
- 浅谈C++中的string 类型占几个字节
- C/C++ 宏详细解析
- 深入分析C++中两个大数相乘结果不正确的问题