解题思路:在待排序的数据中选出最小的元素放在其最终位置
注意事项:
参考代码:
#include <iostream> using namespace std; void Selectsort(int *arr,int n) { int i,j,k; for(i=0;i<n-1;i++) { k=i;//默认当前i的元素为最小值 for(j=i+1;j<n;j++) { if(arr[j] < arr[k])//记录最小值的位置 k=j; } if(k != i)//将最小值和当前的元素进行交换,如果当前i的元素就为最小值就不需要做交换操作 { int temp = arr[i]; arr[i] = arr[k]; arr[k] = temp; } } } int main() { //简单选择排序 int arr[10];//创建数组 for(int i=0;i<10;i++) { cin >> arr[i];//输入数据 } int n = sizeof(arr) / sizeof(arr[0]);//计算数组长度 Selectsort(arr,n); for(int i=0;i<10;i++) { cout << arr[i] << " "; } return 0; }
0.0分
4 人评分
IP判断 (C语言代码)浏览:764 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:561 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:440 |
C语言训练-最大数问题 (C语言代码)浏览:591 |
三角形 (C语言代码)浏览:659 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:533 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:654 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:456 |
Manchester- Hello, world!浏览:13070 |
WU-IP判断 (C++代码)(一种有趣的实现方法)浏览:1498 |