数组去重复元素-(不改变其元素的先后顺序)-中兴笔试程序设计
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\n",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\n",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];