zoukankan      html  css  js  c++  java
  • C语言数组去重返回数组长度

    //去重方法一(arr数组已排序)
    int deleteRepitition(int *arr,int len) {//返回去重后的长度,然后根据指针遍历每个元素
        int k = 0;
        for (int i = 0;i<len;i++) {
            if (*(arr+i)-*(arr+i+1)) *(arr+k++) = *(arr+i);
        }
        if (*(arr+len-1) == *(arr+len)) *(arr+k++) = *(arr+len-1);//如果最后一个元素加号和后一个存储空间元素等,则需要单独处理
       return k;
    }
    //去重方法二
    int del(int * arr,int n) {
        int i;
        for (i=0;i<n-1;i++) {
            for (int j=i+1; j<n; j++) {//从arr[i]的下一位开始比较,直到最后一位
                if (arr[i] == arr[j]) {//如果数字重复
                    for (int k=j;k<n-1;k++) arr[k] = arr[k+1];//从arr[k]开始,所有数字前移一位
                    --n;//数组长度 减 1
                    --j;//同时遍历也要减 1
                }
            }
        }
        return n;//返回去重后数组长度
    }
    //去重方法三(去重输出)
    int del(int * arr,int len) {
        for (int i=0;i<len;i++) {
            for (j=0;j<i;j++) if (arr[i]==arr[j]) break;
            if (j==i) {
                printf("%d",arr[i]);
            }
        }
        return 0;
    }
  • 相关阅读:
    Python3之format
    xml文件整理
    某系统采集2018
    sublime+python3 中文环境
    python3文本读取与写入常用代码
    redis3.0集群使用发现的一些问题
    mysql字符集
    redis3.0集群搭建
    安装Maven、nexus
    一键安装mysql5.6
  • 原文地址:https://www.cnblogs.com/cgy-home/p/15077809.html
Copyright © 2011-2022 走看看