我发现了 石油 新的排序算法!!! 算法: 定义布尔数组a[NUM] (我也不知道NUM的值) 输入 n,循环输入n次整数x,每次输入把a[x]的值改为1,输出每个 a[i]=1 的 i 是有序序列 算法时间复杂度 O(n) 空间占用(字节) 4*NUM+8 ∵ sizeof(int)=4 ∴ sizeof(a[NUM])=4*NUM ∵ type(n)=int,type(x)=int ∴ sizeof(n)=sizeof(x)=4 ∴ sizeof(n)+sizeof(x)=4+4=8 ∴ sizeof(全局)=4*NUM+8 代码 #include<iostream> using namespace std; int main(){ bool a[NUM]={0};int n=0,l,max; cin>>n; for(int i=0;i<n;cin>>l,i++){ a[l]=1; } for(int i=0;i<NUM;i++){ if(a[i]==1) cout<<i<<" "; } } 优点: 代码短,时间复杂度相对低,对NUM值较小的时候较为便捷 缺点: 空间占用大 优化: 先输入数组,找到最大值MAX,定义大小为MAX的BOOL数组,会减少一些不必浪费的空间,不过慎重优化,以免出现种种错误。 我发现的新排序算法,请留赞与关注!!!