C语言 · 数组排序去重

算法训练 数组排序去重

时间限制:1.0s   内存限制:512.0MB

问题描述

  输入10个整数组成的序列,要求对其进行升序排序,并去掉重复元素。

输入格式

  10个整数。

输出格式

  多行输出,每行一个元素。

样例输入

2 2 3 3 1 1 5 5 5 5

样例输出

1
2
3
5

 1 #include<stdio.h>
 2 int main(){
 3     int a[10];
 4     for(int i=0;i<10;i++){
 5         scanf("%d",&a[i]);
 6     }
 7     /*冒泡升序*/
 8     for(int i=0; i<10-1; i++){
 9         for(int j=0; j<10-1-i; j++){
10             if(a[j]>a[j+1]){
11                 int t = a[j];
12                 a[j] = a[j+1];
13                 a[j+1] = t;
14             }
15         }
16     }
17     int index=1;//下标
18     int b[10];//存放不重复元素的数组
19     b[0] = a[0];
20     for(int i=1;i<10;i++){
21         if(a[i] != a[i-1]){//如果当前遍历的元素和前一个元素不相等
22             b[index++] = a[i];//存到b中
23         }
24     }
25     for(int i=0;i<index;i++){
26         printf("%d\n",b[i]);
27     }
28 }
时间: 2024-12-20 23:09:12

C语言 · 数组排序去重的相关文章

C语言数组去重

数组排序去重: 1 #include <cstdlib> 2 #include <iostream> 3 #include <algorithm> 4 using namespace std; 5 bool cmp( int a, int b) 6 { 7 return a < b; 8 } 9 int main() 10 { 11 int a[20]; 12 for( int i = 0; i < 20; i++) 13 a[i] = rand()%10;

算法训练——数组排序去重

//数组排序去重 #include<stdio.h> #include<stdlib.h> int comp(const void*a,const void*b)//用来做比较的函数. { return *(int*)a - *(int*)b; } int main(){ int a[10]; for(int i=0;i<10;i++) scanf("%d",&a[i]); qsort(a,10,sizeof(int),comp); printf(

R语言数据去重

R语言常用的去重命令有unique duplicated unique主要是返回一个把重复元素或行给删除的向量.数据框或数组 > x <- c(3:5, 11:8, 8 + 0:5)> x [1]  3  4  5 11 10  9  8  8  9 10 11 12 13> unique(x)[1]  3  4  5 11 10  9  8 12 13> unique(x, fromLast = TRUE)[1]  3  4  5  8  9 10 11 12 13    

R语言︱情感分析—词典型代码实践(最基础)(一)

笔者寄语:词典型情感分析对词典要求极高,词典中的词语需要人工去选择,但是这样的选择会很有目标以及针对性.本文代码大多来源于<数据挖掘之道>的情感分析章节.本书中还提到了监督算法式的情感分析,可见博客: R语言︱情感分析-基于监督算法R语言实现笔记. 可以与博客 R语言︱词典型情感分析文本操作技巧汇总(打标签.词典与数据匹配等)对着看. 词典型情感分析大致有以下几个步骤: 训练数据集.neg/pos情感词典.分词+数据清洗清洗(一.二.三级清洗步骤).计算情感得分.模型评价 ----------

算法训练(二)

1.zoj-4049 简单的进程模拟,大部分情况下可以直接出答案,当进入死循环的时候,不难发现,循环中所得值会出现重复,因此可视重复为死循环的标志,使用一个bool数组进行标记即可,代码如下: #include <iostream> #include<cstring> using namespace std; const int N = 10100; const int Mod = 256; bool dp[N][257]; struct node { char op[4]; in

整理数组去重与数组排序等方法

实用且比较简单的数组排序与数组去重的方法,也较好理解: 1.数组冒泡排序: var arr=["a",3,5,2,1,4,2,3,3,3,5,5,5,4]; function sort(arr){ //让数组中的元素俩俩进行比较,实现替换: for (var i = 0; i< arr.length; i++) { for (var j = 0; j < arr.length; j++) { if (arr[j] > arr[j + 1]) { var temp =

【学习ios之路:C语言】一维数组,数组排序,字符数组

1.数组 数组,快速定义多个变量. 数组定义: 数据类型 数组名[数组元素的个数] = {值1, 值2, 值 3}; 数组所占存储空间大小 = 数组元素个数 * 每个元素所占的存储空间大小. %lu  unsigned long 无符号的长整型. 无符号 >=0 sizeof 存储大小值  //用来计算一个变量,类型,以及数组所占存储空间的大小. int a[5] = { 2, 7, 4, 3, 6 };  printf("%lu\n", sizeof(arr)); //5 in

javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)

主要内容: 1.数组整体元素修改 2. 数组筛选 3.jquery 元素转数组 4.获取两个数组中相同部分或者不同部分 5.数组去重并倒序排序 6.数组排序 7.数组截取slice 8.数组插入.删除splice(需明确位置) 9.数组遍历 10.jQuery根据元素值删除数组元素的方法 数组常见操作包含了 增.删.查.改.插入.交集.并集 1.数组整体元素修改 //map,给数组每个元素加1 输出[1,2,3] $.map([0,1,2],function(n){ return n+1; })

数组排序、去重、乱序

冒泡排序 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字母从从Z到A)错误就把他们交换过来.走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成 冒泡排序: function bubbleSort(arr){ var len=arr.length,j; var temp; while(len>1){ for(j=0;j<len-1;j++){ if(arr[j]>arr[j+1]){ temp=arr[j]; arr[j]=a