×

排序算法

Very2 Very2 发表于2026-06-13 19:43:01 浏览76 评论0

抢沙发发表评论

冒泡排序-普通版:

#include <iostream>  
using namespace std;  
int a[1001], n;  
int main() {  
    cin >> n;  
    for (int i = 1; i <= n; i++)  
        cin >> a[i];  
    for (int i = 1; i <= n - 1; i++)  
        for (int j = 1; j <= n - i; j++)  
            if (a[j] > a[j + 1])  
                swap(a[j], a[j + 1]);  
    for (int i = 1; i <= n; i++)  
        cout << a[i] << " ";  
    return 0;  
}


冒泡排序-优化版:

/*1.分析已知/未知2.数据定义 3.输入
4.算法实现 5.输出*/
#include<bits/stdc++.h>
using namespace std;
int a[1010];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n-1;i++){
		int flag=0;
		for(int j=1;j<=n-i;j++){
			if(a[j]>a[j+1]){
				flag=1;
				swap(a[j],a[j+1]);
			}
		}
		if(flag==0)
			break;
	}
	for(int i=1;i<=n;i++){
		cout<<a[i]<<" ";
	}
	return 0;
}

冒泡排序-题目训练

P1116 车厢重组

https://www.luogu.com.cn/problem/P1116


选择排序:


插入排序:


二者

访客