#include <stdio.h> //常规采用冒泡排序法,采用冒泡排序的时候就顺手将去重做了,变为0移到最后去 int main() { int cmp_swap(int *a,int *b); int N = 1000; int data[1000]={0}; scanf("%d\n",&N); for (int i=0; i<N; i++) { scanf("%d",&data[i]); } int flg = 0; int idx=0; for ( int i=0; i<N-1; i++) { flg = 0; for ( int j=0; j<N-1-i; j++) { flg += cmp_swap(&data[j],&data[j+1]); } if ( flg==0) { break; } } for (int i=0; i<N; i++) { if(data[i]!=0) { printf("%d\n",data[i]); } } return 0; } int cmp_swap(int *a,int *b) { int outValue = 0; int tmp; if ((*a==0)||(*a)>(*b)) { tmp = *a; *a = *b; *b = tmp; outValue = 1; } else if(*a==*b) { *b=0; outValue = 1; } else { outValue = 0; } return outValue; }