无论任何语言,必有一个烦人的东西——算法。而其中很基本的便是排序了。这一篇文章就来扒扒三大排序。
排序方法千千万,快速排序占一半,三大排序占空间,时间还很慢
对于排序来说,最基本的就是冒泡排序了,因为我 很懒 觉得他空间和时间复杂度他高就没有多用它。而他的核心在于把2个相邻数据进行比较,在一次遍历整个数组而达到排序的效果。具体会用两个for循环实现。上源代码:
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int N;
cout<<"请输入数组项数:"<<endl;
cin>>N;
int arr[N];
cout<<"请输入数组数字:"<<endl;
for(int x=0;x<N;x++) {
cin>>arr[x];
}
cout<<"请等待……"<<endl;
for(int i=0;i<N;i++){//外循环
for(int j=0;j<N-1-i;j++){//内循环
if(arr[j]>arr[j+1]){
swap(arr[j],arr[j+1]);
}
}
}
cout<<"该数组有"<<N<<"项;"<<endl;
cout<<"排序后为:";
for(int y=0;y<N;y++){
cout<<arr[y]<<" ";
}
return 0;
}