#include<bits/stdc++.h>
using namespace std;constint N =109;int n, m, a[N], b[N];intmain(){
cin >> n;for(int i =1; i <= n; i ++) cin >> a[i];for(int i = n -1; i >0; i --){
for(int j =1; j <= i; j ++){
if(a[j]> a[j +1]){
swap(a[j], a[j +1]);}}}
b[1]= a[1];
m =1;for(int i =2; i <= n; i ++){
while(a[i]== b[m]) i ++;
b[++ m]= a[i];}
cout << m << endl;for(int i =1; i <= m; i ++) cout << b[i]<<' ';return0;}
选择排序
#include<bits/stdc++.h>
using namespace std;constint N =109;int n, m, a[N], b[N];intmain(){
cin >> n;for(int i =1; i <= n; i ++) cin >> a[i];for(int i = n; i >1; i --){
int t =1;for(int j =2; j <= i; j ++){
if(a[j]> a[t]){
t = j;}}swap(a[t], a[i]);}
b[1]= a[1];
m =1;for(int i =2; i <= n; i ++){
while(a[i]== b[m]) i ++;
b[++ m]= a[i];}
cout << m << endl;for(int i =1; i <= m; i ++) cout << b[i]<<' ';return0;}
插入排序
#include<bits/stdc++.h>
using namespace std;constint N =109;int n, m, a[N], b[N];intmain(){
cin >> n;for(int i =1