数组去重复元素-(不改变其元素的先后顺序)-中兴笔试程序设计

 1 #include <string.h>
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 //using namespace std;
 5 int main()
 6 {
 7     int a[]={1,2,20,1,1,2};
 8     int b[]={0};
 9     int num=0;
10     int len=sizeof(a)/4;
11         printf("%d
",len);
12     for(int j=0;j<len;j++){
13         for(int i=j+1;i<len;i++){
14               if(a[j]==a[i]){
15                   num++;
16                  for(int k = i; k<len; k++)//依次前移一位
17                    a[k] = a[k+1];
18                    //总长度减一。
19             }
20         }
21     }
22     for(int q=0;q<len-num;q++)
23         b[q]=a[q];
24     for(int p=0;p<len-num;p++){
25         printf("%d
",b[p]);
26         
27     }
28     return 0;
29 }

 java代码实现数组去重复:

 1 package uhio;
 2 import java.util.*;
 3 public class tyutuy {
 4 
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7         int []a=new int[6];
 8         a[0]=0;
 9         a[1]=1;
10         a[2]=1;
11         a[3]=2;
12         a[4]=0;
13         a[5]=5;
14         ArrayList<Integer> list = new ArrayList<Integer>();
15         for (int i=0; i<a.length; i++) {
16             if(!list.contains(a[i])) {
17                 list.add(a[i]);
18             }
19         }
20             System.out.println(list);
21     }
22 
23 }

输出:

[0, 1, 2, 5];

原文地址:https://www.cnblogs.com/lujun1949/p/5807464.html