0
点赞
收藏
分享

微信扫一扫

冒泡排序和选择排序

雪域迷影 2022-04-29 阅读 63

1.冒泡排序

//冒泡排序
#include<stdio.h>

int main()
{
    int arr[5] = {5,7,3,1,6};
    int i,j,t;
    bool flag = false;                     //如果此语句编译报错,可换成 int flag = 0;
    int len = sizeof(arr) / sizeof(int);   //此句中 len = 20 / 4; 
    
    for(i = 0; i < len - 1; i++){
        flage = true;                      //flag = 1;  
        for(j = 0; j < len - 1 - i; j++){
            if(arr[j] > arr[j+1]){
                t = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = t;
            }
            flag = false;                    
        }
        if(flag == true){                    
            break;
        }
    }
    
    for(i = 0; i < len; i++){
        printf("%d ", arr[i]);
    }
    return 0;
}
  

2.选择排序

//选择排序
#include<stdio.h>

int main()
{
    int arr[5] = {5,7,3,1,6};
    int i,j,t,m;
    int len = sizeof(arr) / sizeof(int);
    
    for(i = 0; i < len - 1; i++){
        m = i;
        for(j = i + 1; j < len; j++){
            if(arr[m] > arr[j]){
               m = j;
            }
        }
        if(i != m){
            t = arr[i];
            arr[i] = arr[m];
            arr[m] = t;
        }
    }
    
    for(i = 0; i < len-1; i++){
        printf("%d ", arr[i]);
    }
    return 0;
}
举报

相关推荐

0 条评论