5 条题解
-
2
#include
using namespace std;
int main() {
int n; cin >> n; int a[1001]; for(int i = 0; i < n; i++) { cin >> a[i]; } int move = 0; for(int i = 1; i < n; i++) { int temp = a[i]; int j = i - 1; while(j >= 0 && a[j] > temp) { a[j + 1] = a[j]; move++; j--; } a[j + 1] = temp; } for(int i = 0; i < n; i++) { if(i != 0) cout << " "; cout << a[i]; } cout << endl; cout << move << endl; return 0;
}
-
2
#include <bits/stdc++.h> using namespace std; const int Maxn=1010; int a[Maxn]; int n; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; int num=0; for(int i=2;i<=n;i++){ int key=a[i],j; for(j=i-1;j>=1;j--){ if(a[j]>key){ a[j+1]=a[j]; num+=1; }else{ break; } } a[j+1]=key; } for(int i=1;i<n;i++) cout<<a[i]<<" "; cout<<a[n]<<endl; cout<<num<<endl; return 0; }
-
1
#include <bits/stdc++.h> using namespace std; const int Maxn=1010; int a[Maxn]; int n,num=0; int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=2;i<=n;i++){ int key=a[i],j; for(j=i-1;j>=1;j--){ if(a[j]>key){ a[j+1]=a[j]; num+=1; }else{ break; } } a[j+1]=key; } for(int i=1;i<n;i++) cout<<a[i]<<" "; cout<<a[n]<<endl; cout<<num<<endl; return 0; }
- 1
信息
- ID
- 766
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 386
- 已通过
- 194
- 上传者