删除数组重复元素

#include<stdio.h>

int main()

{

    int a[15]= {1,4,3,4,4,2,3,5,3,2,5,4};

    int n=0,i,j,k,m=15;

    for(i=0; i<m-n; i++)

    {

        for(j=i+1; j<m-n; j++)

            if(a[j]==a[i])

            {

                for(k=j; k<m-n; k++)

                    a[k]=a[k+1];

                n++;

                j--;

            }

    }

    for(i=0; i<m-n; i++)

        printf("%3d",a[i]);

    printf("\nA total of %d data entries were deleted",n);

    return 0;

}

  1. 数组初始化:

    int a[15] = {1, 4, 3, 4, 4, 2, 3, 5, 3, 2, 5, 4};

    数组 a 被初始化为包含 15 个整数的数组。

  2. 外层循环:

    for(i = 0; i < m - n; i++)

    外层循环用于遍历数组中的每个元素,其中 m 是数组长度,n 是删除的元素计数器。

  3. 内层循环:

    for(j = i + 1; j < m - n; j++)

    内层循环从当前元素的下一个元素开始,用于与当前元素比较,查找重复项。

  4. 重复元素检测:

    if(a[j] == a[i])

    如果发现重复元素,进入以下步骤。

  5. 删除重复元素:

    for(k = j; k < m - n; k++) a[k] = a[k + 1];

    使用循环将重复元素之后的元素依次前移,覆盖重复的元素。

  6. 计数器递增和内层循环控制:

    n++; j--;

    递增删除元素的计数器,并将内层循环的控制变量 j 减一,以确保下次循环检查相同的数组索引。

  7. 打印修改后的数组:

    for(i = 0; i < m - n; i++) printf("%3d", a[i]);

    打印修改后的数组,只打印不包含重复元素的部分。

  8. 打印删除的元素数量:

    printf("\n总共删除了 %d 个数据项", n);

相关推荐

  1. 删除数组重复元素(哈希方法+双指针)

    2023-12-08 08:48:03       23 阅读
  2. 删除排序链表中的重复元素

    2023-12-08 08:48:03       56 阅读
  3. 82. 删除排序链表中的重复元素 II

    2023-12-08 08:48:03       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 08:48:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 08:48:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 08:48:03       82 阅读
  4. Python语言-面向对象

    2023-12-08 08:48:03       91 阅读

热门阅读

  1. ZooKeeper学习一

    2023-12-08 08:48:03       47 阅读
  2. iSoftBook、Jira、GitLab、TAPT研发管理平台的比较

    2023-12-08 08:48:03       71 阅读
  3. Caddy服务器快速上手

    2023-12-08 08:48:03       57 阅读
  4. 【Angular开发】Angular:2023年最佳实践

    2023-12-08 08:48:03       57 阅读
  5. 用c#实现记事本的功能

    2023-12-08 08:48:03       46 阅读
  6. KVM迁移

    2023-12-08 08:48:03       40 阅读
  7. vue3在table里使用elementUI的form表单验证

    2023-12-08 08:48:03       51 阅读
  8. Boost:asio单io_service,多线程run

    2023-12-08 08:48:03       39 阅读
  9. C++设计模式学习之一(共计13种)

    2023-12-08 08:48:03       44 阅读
  10. LISP~~~~~

    2023-12-08 08:48:03       51 阅读
  11. Spring Kafka常用配置详解

    2023-12-08 08:48:03       51 阅读