在C语言中,打印已排序的数组中的不重复元素

给定一个整数元素的数组,任务是删除重复的值并以排序的方式打印出不同的元素。

下面给出了一个以4、6、5、3、4、5、2、8、7和0的顺序存储整数类型值的数组,现在,结果将以0、2、3、4、4、5、5、6、7和8的顺序打印出排序的元素,但是这个结果仍然包含重复的值4和5,应该将它们删除,最终的结果将是0、2、3、4、5、6、7和8

在C语言中,打印已排序的数组中的不重复元素

示例

Input: array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0}Output: 0 2 3 4 5 6 7 8

解释

所以,为了达到我们的目标,我们将

将不同的元素存储在另一个数组array1中。对array1进行排序。打印array1的值。

算法

START   STEP 1: DECLARE VARIABLES i, j, array1[size], temp, count = 0   STEP 2: LOOP FOR i = 0 AND i < size AND i++      LOOP FOR j = i+1 AND j < size AND j++         IF array[i] == array[j]) then,            break         END IF      END FOR      IF j == size then,         ASSIGN array1[count++] WITH array[i]      END IF   END FOR   STEP 3: LOOP FOR i = 0 AND i < count-1 AND i++      LOOP FOR j = i+1 AND j array1[j] then,            SWAP array1[i] AND array[j]         END IF      END FOR   END FOR   STEP 4: PRINT array1STOP

立即学习“C语言免费学习笔记(深入)”;

立即学习“C语言免费学习笔记(深入)”;

示例

#include /* Prints distinct elements of an array */void printDistinctElements(int array[], int size) {   int i, j, array1[size], temp, count = 0;   for(i = 0; i < size; i++) {      for(j = i+1; j < size; j++) {         if(array[i] == array[j]) {            /* Duplicate element found */            break;         }      }      /* If j is equal to size, it means we traversed whole      array and didn't found a duplicate of array[i] */      if(j == size) {         array1[count++] = array[i];      }   }   //sorting the array1 where only the distinct values are stored   for ( i = 0; i < count-1; i++) {      for ( j = i+1; j array1[j]) {            temp = array1[i];            array1[i] = array1[j];            array1[j] = temp;         }      }   }   for ( i = 0; i < count; ++i) {      printf("%d ", array1[i]);   }}int main() {   int array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0};   int n = sizeof(array)/sizeof(array[0]);   printDistinctElements(array, n);   return 0;}

输出

如果我们运行上面的程序,它将生成以下输出。

0 2 3 4 5 6 7 8

以上就是在C语言中,打印已排序的数组中的不重复元素的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
计算字符串中恰好出现K次的长度为M的子串的数量
上一篇 2025年12月17日 22:37:09
如何使用C++中的最小生成树算法
下一篇 2025年12月17日 22:37:21

相关推荐

  • 揭秘C语言指针:指针与数组、结构体的联系

    解密C语言指针:指针与数组、结构体的关系,需要具体代码示例 引言:C语言中的指针是一种强大且灵活的特性,它允许程序员直接操作计算机内存地址。指针的理解对于C语言的深入掌握至关重要。本文将着重讨论指针与数组、以及结构体的关系,并通过具体的代码示例来解释其使用方法。 指针与数组的关系:在C语言中,数组名…

    2026年5月10日
    000
  • php空数组怎么判断_php判断空数组的函数与正确写法

    判断空数组最稳妥的方法是使用empty()函数,如empty($arr)可安全检测数组是否存在且无元素;若需确保变量为数组类型,应结合is_array($arr) && empty($arr)进行双重验证,避免类型误判。 在PHP中判断一个数组是否为空,不能简单地依赖变量是否存在或是…

    2026年5月10日
    100
  • php数组的分类有哪几个

    PHP数组只有一种类型,但按键和用法分为三类:①索引数组(整数键,常从0开始);②关联数组(字符串键,类似字典);③多维数组(元素为数组,可嵌套)。底层均为哈希表实现,分类仅为使用习惯。 PHP 数组本质上只有一种类型——数组(array),但根据键的类型和使用方式,开发者习惯性地把它分为三类:索引…

    2026年5月10日
    000
  • 如何在C语言中将数组的元素以相反的顺序打印出来?

    尝试按照下面给出的算法以相反的顺序打印元素: 步骤1 – 声明一个大小为5的数组 步骤2 – 使用for循环将5个元素输入到内存中 步骤3 – 以相反的顺序显示元素 立即学习“C语言免费学习笔记(深入)”; 通过递减for循环 唯一的逻辑是通过for循环反转元素:…

    2026年5月10日
    000
  • 基数排序的C程序

    排序算法是一种按特定顺序排列列表组件的算法。最常用的顺序是数字顺序和字典顺序。 基数排序是一种非比较排序算法。基数排序算法是未排序列表的首选算法。 它通过最初对相同位值的各个数字进行分组来对元素进行排序。基数排序的思想是按照递增/递减顺序从最低有效数字(LSD)到最高有效数字(MSD)进行逐位排序。…

    2026年5月10日
    000
  • css之分页打印

    这次给大家带来css之分页打印,css之分页打印的注意事项有哪些,下面就是实战案例,一起来看一下。 很久没写文章了,最近做了一个员工入职的项目,该系统有一个批量打印个人信息的功能需求。因为之前也没接触过打印这方面的功能,就上网查了下,发现jquery有个打印功能的 API(PrintArea) ,关…

    2025年12月24日
    000
  • html如何截图_使用HTML5 Canvas实现页面截图【页面】

    可在网页中截取图像的四种方法:一、用html2canvas库前端截图;二、用Canvas+SVG+foreignObject保留复杂CSS样式;三、用Chrome DevTools协议远程截屏;四、用Window.print()配合打印CSS导出PDF。 如果您希望在网页中直接截取当前页面或指定区域…

    2025年12月23日
    000
  • 避免HTML硬编码到JS中的方法是什么_避免HTML硬编码到JS中的方法实践

    使用模板字符串、外部模板、模板引擎或前端框架可避免JS中硬编码HTML,提升代码可维护性与安全性。 避免将HTML硬编码到JavaScript中,能提升代码的可维护性、可读性和安全性。直接在JS里拼接HTML字符串虽然简单,但容易出错,也难以调试和扩展。以下是几种实用的方法来解决这个问题。 使用模板…

    2025年12月23日
    000
  • 用numpy进行数组尺寸交换

    使用Numpy实现数组维度交换 Numpy是一个功能强大的Python库,用于进行科学计算和数据处理。它包含了丰富的函数和工具,可以方便地对数组进行各种操作,其中之一就是数组维度的交换。本文将介绍如何使用Numpy实现数组维度交换,并给出具体的代码示例。 首先,我们需要导入Numpy库: impor…

    2025年12月21日
    000
  • 使用微信小程序实现表格排序功能

    使用微信小程序实现表格排序功能 随着微信小程序的流行,越来越多的开发者开始探索如何利用微信小程序实现更多有趣实用的功能。其中,实现表格排序功能是许多开发者感兴趣的一个话题。本文将介绍如何使用微信小程序实现表格排序功能,并提供具体的代码示例。 一、需求分析在开始编写代码之前,我们首先需要明确实现的功能…

    2025年12月21日
    100
  • 如何添加一个按钮来打印一个HTML页面?

    在 HTML 网页上添加“打印”按钮,单击该按钮后,将打印整个网页。这是在网页中添加的相当简单的功能,可以使用一些 HTML 元素和纯 JavaScript 来添加。 因此,让我们讨论一下这样做的方法。 方法 首先,在 HTML dom 中添加 标签。 将其 type 属性分配给“button”并为…

    2025年12月21日
    000
  • JavaScript中如何实现数组排序_sort方法原理

    Array.prototype.sort() 默认按字符串 Unicode 码点升序排序,需传入比较函数实现数字等正确排序;V8 引擎对小数组用插入排序、大数组用 TimSort,且 ES2019 起要求稳定排序。 JavaScript 中 Array.prototype.sort() 默认按字符串…

    2025年12月21日
    000
  • js中reduce在数组的使用

    reduce方法用于将数组归约为单一值,通过累加器函数遍历元素,可实现求和、扁平化、统计和分组;需注意初始值设置以避免空数组报错。 在 JavaScript 中,reduce 是数组的一个高阶方法,用于将数组“归约”为一个单一的值。它通过遍历数组每个元素,执行一个累加器函数,最终返回一个结果。这个方…

    2025年12月21日
    000
  • 怎么使用JavaScript操作浏览器打印功能?

    答案是利用window.print()结合CSS @media print实现局部打印,通过隐藏非打印元素、调整布局样式,并注意浏览器兼容性问题,确保打印内容清晰完整且用户体验良好。 JavaScript操作浏览器打印功能,核心是利用 window.print() 方法,它会直接触发浏览器的打印对话…

    2025年12月20日
    000
  • Node.js中如何操作数组?

    Node.js中操作数组与JavaScript一致,常用方法包括push、pop、slice、splice等,处理大型数组时需关注性能,建议使用流式处理或for循环提升效率;读取文件转数组可通过fs模块读取后用split分割,复杂CSV推荐csv-parse库;数据过滤转换可用filter、map、…

    2025年12月20日
    000
  • javascript如何实现数组响应式更新

    javascript如何实现数组响应式更新javascript如何实现数组响应式更新javascript如何实现数组响应式更新javascript如何实现数组响应式更新

    javascript实现数组响应式更新的核心是拦截数组的修改操作并在修改后通知依赖更新;2. 由于直接修改数组不会触发setter,因此需通过拦截数组方法或使用proxy实现;3. 拦截数组方法是通过重写push、pop、shift、unshift、splice、sort、reverse等方法,在调…

    2025年12月20日 用户投稿
    100
  • javascript如何交换数组的前后部分

    交换数组前后部分的核心是使用slice和concat方法实现非破坏性操作,1. 通过math.max和math.min确保分割索引在有效范围内;2. 使用slice(0, splitindex)提取前部分;3. 使用slice(splitindex)提取后部分;4. 用concat将后部分与前部分连…

    2025年12月20日
    000
  • javascript如何求数组交集

    javascript如何求数组交集javascript如何求数组交集javascript如何求数组交集javascript如何求数组交集

    javascript求数组交集的常见方法包括:1. 循环嵌套,时间复杂度为o(nm),性能较差;2. filter结合includes,代码简洁但时间复杂度仍为o(nm);3. 使用set,将一个数组转为set后遍历另一数组查找,时间复杂度为o(n+m),性能更优;4. 排序后双指针法,适用于有序数…

    2025年12月20日 用户投稿
    000
  • javascript数组如何移除第一个元素

    javascript数组如何移除第一个元素javascript数组如何移除第一个元素javascript数组如何移除第一个元素javascript数组如何移除第一个元素

    要移除 javascript 数组的第一个元素,最常用的方法是使用 shift() 方法,它会直接修改原数组并返回被移除的元素;1. 使用 shift() 是最直接的方式,如 let firstelement = myarray.shift(),执行后原数组变为 [2, 3, 4, 5],first…

    2025年12月20日 用户投稿
    000
  • javascript怎么删除数组中的特定元素

    javascript怎么删除数组中的特定元素javascript怎么删除数组中的特定元素javascript怎么删除数组中的特定元素javascript怎么删除数组中的特定元素

    使用filter()方法可创建一个不包含特定元素的新数组,且不改变原数组,适用于需要保持原数组不变的场景;2. 使用splice()方法可直接在原数组上删除指定元素,需先通过indexof()或findindex()获取索引,适用于需原地修改数组的场景;3. 删除多个相同元素时,filter()更简…

    2025年12月20日 用户投稿
    000

发表回复

登录后才能评论
关注微信