题解 | #C++选择排序#
C++选择排序
https://www.nowcoder.com/practice/3b6175426e704c0b9461628b2278631b
#include <iostream> using namespace std; // 冒泡排序法:相邻两个数进行比较然后移动 void bubblesort(int arr[],int n){ for(int i=0;i<n-1;i++){ for(int j=0;j<n-i-1;j++){ //每次经过比较之后,最大的数会浮到最后的位置,下轮比较就不用再管了 if(arr[j]>arr[j+1]){ //int temp=arr[j]; //arr[j]=arr[j+1]; //arr[j+1]=temp; swap(arr[j],arr[j+1]);//交换两者的位置 } } } } //选择排序法:不断找出最小的放在前面 void selectionsort(int arr[],int n){ for(int i=0;i<n-1;i++){ int min_idx =i; for(int j=i+1;j<n;j++){ if(arr[j]<arr[min_idx]) min_idx =j; } //int temp=arr[i]; //arr[i]=arr[min_idx]; //arr[min_idx]=temp; swap(arr[i],arr[min_idx]);//交换两者的位置 } } int main() { int arr[6] = { 0 }; int len = sizeof(arr) / sizeof(int); for (int i = 0; i < len; i++) { cin >> arr[i]; } // write your code here...... //调用选择排序法 selectionsort(arr,len); for(int i=0;i<len;i++){ cout<<arr[i]<<" "; } return 0; }