C++U3-第1课-基础排序(一)

发布时间 2023-11-20 12:33:59作者: 小虾同学

学习目标

排序的概念 

 本阶段会学习的排序有

 冒泡排序概念

 第一轮比较,与交换

 

例题1:一趟交换

 例题2:多躺比较,冒泡排序

 

【题意分析】
进行n-1趟冒泡排序的过程,每一次输出当前一趟冒泡排序完的结果

【思路分析】
定义一个n,输入当前的n和储存n个数的数组

for循环的方式进行n(n-1)趟排序

如果当前的数大于后面的数,那么交换两数

for循环输出每一次数组的变化

【参考代码】
#include<iostream>
using namespace std;
int a[210];
int main(){
    //定义一个n,输入当前的n和储存n个数的数组 
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){//a[1]~a[n]
        cin>>a[i];
    }
    //for循环的方式进行n(n-1)趟排序 
    for(int i=1;i<=n-1;i++){//根据自己调整是否n-1 
        for(int j=1;j<=n-i;j++){//自己调整是否n-i 
        //如果当前的数大于后面的数,那么交换两数
            if(a[j]>a[j+1]){
                swap(a[j],a[j+1]);
            }    
        }
        //for循环输出每一次数组的变化 
        for(int i=1;i<=n;i++){
            cout<<a[i]<<" ";
        }
        cout<<endl;
    }
    return 0;    
}
View Code