之前学的东西,不知什么缺了,什么没缺,索性重头开始弄,用的是《啊哈!算法》。
排序很简单,小的可以选择死磕。直接贴一份代码。
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int a[10001]={0}; int n;int t; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&t); a[t]++; } for(int j=1;j<=10000;j++){ if(a[j]>0) printf("%d ",j); } return 0; }
这是最简单的死磕办法,直接硬加上去,大于0就输出,一般小程序不需要考虑时限的可以用。
后面的,就是sort。
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int n;int a[10001]; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } sort(a+1,a+n+1); for(int j=1;j<=n;j++){ printf("%d ",a[j]); } return 0; }
貌似sort简单一点。
void Sort(){//冒泡排序 for(int i=1;i<=n-1;i++){ for(int j=1;j<=n-i;j++){ if(a[j]>a[j+1]){ int t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } }
最后加上冒泡排序,这个就这么写完了。
2017-04-01
18:19:26
时间: 2024-10-13 16:20:33