C语言题目请求分析
请编写函数fun,函数的功能是:去除一维数组中所有相同的数,使之只剩一个。数组已按从大到小的排列,函数返回值是去除后数组的个数。列如:
一维数组是:2 2 2 3 3 4 4 5 6 6 6 6 6 7 7 8 9
完成后是:2 3 4 5 6 7 8 9
#include <stdio.h> #include <string.h> char mem[1000] = {0}; int main() { int i,j,k; int n = 0,num = 0; while(EOF != scanf("%d",&n)) { while(n--) { scanf("%d",&num); mem[num]++; } for(i = 0;i<1000;i++) { if(mem[i] != 0) printf("%d ",i); } memset(mem,0,sizeof(mem)); printf("\n"); } return 0; } /* 17 2 2 2 3 3 4 4 5 6 6 6 6 6 7 7 8 9 */2楼的优点慢了 散列表是最快的 时间复杂度为 O(1000)