题解 | #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;
}

全部评论

相关推荐

码农索隆:竞争压力小,就你一个不用卷
点赞 评论 收藏
分享
jnsytgsyqj...:简历跟测试没关系,你更适合运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务