zoukankan      html  css  js  c++  java
  • 删去一维有序数组中所有相同的数,使之只剩一个。

      删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。  例如,若一维数组中的数据是:   2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10  删除后,数组中的内容应该是:  2 3 4 5 6 7 8 9 10。

    #include <stdio.h>
    #define    N    80
    int  fun(int  a[], int  n)
    {
        int i=0,j=0;
        while(i<n)
        {
            while(a[i+1]==a[i])
            {
                i++;
            }
            a[j++]=a[i];
            i++;
        }
        return j;
    }
    main()
    {  int  a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20;void NONO ();
       printf("The original data :
    ");
       for(i=0; i<n; i++)printf("%3d",a[i]);
       n=fun(a,n);
       printf("
    
    The data after deleted :
    ");
       for(i=0;i<n;i++)printf("%3d",a[i]); printf("
    
    ");
    }

    运行结果

  • 相关阅读:
    Jquery
    JavaScript
    poj--2115 C Looooops
    poj--3970 party
    poj 1061 青蛙的约会
    hdu1250--Hat's Fibonacci
    2318--TOYS
    扩展欧几里得--让你一次刷个够
    关于大数加法的解法
    有关环形数组的约瑟夫问题
  • 原文地址:https://www.cnblogs.com/wlei5206/p/12792078.html
Copyright © 2011-2022 走看看