1、算法思想如下图:

把待排序的数都存在对应的数组的下标中,如果待排序的数有重复的,就用对应的数组加一,最后把数组的下标打印出来即可。

2、源码(C)如下:

#include <stdio.h>

int main (void)

{

int a[100], i, j, t, n;

//初始a[i]为0

for (i = 0; i <= 100; i++)

{

a[i] = 0;

}

scanf ("%d", &n);

for (i = 1; i <= n; i++)

{

scanf ("%d", &t);

a[t]++; // 进行计数,即出现了多少次

}

//i初值为100,先打印最大的下标

for (i = 100; i >= 0; i--)

{

//如果a[i]等于1,怎么说明该数出现一次,a[i]大于1说明出现多次

for (j = 1; j <= a[i]; j++)

{

printf ("%d ", i);

}

}

getchar();

return 0;

}

3、源代码(C++)如下:

#include <iostream>

using namespace std;

int main (void)

{

int a[101], i, j, t, n;

//初始a[i]为0

for (i = 0; i <= 100; i++)

{

a[i] = 0;

}

cin >> n;

for (i = 1; i <= n; i++)

{

cin >> t;

a[t]++; // 进行计数,即出现了多少次

}

//i初值为100,先打印最大的下标

for (i = 100; i >= 0; i--)

{

//如果a[i]等于1,怎么说明该数出现一次,a[i]大于1说明出现多次

for (j = 1; j <= a[i]; j++)

{

cout << i << endl;

}

}

return 0;

}

转载于:https://blog.51cto.com/12831900/2119689

最简单的排序算法(C和C++实现)相关推荐

  1. 通讯录排序 (20分)_算法入门篇:简单的排序算法

    作者:dorseyCh来源:http://www.imooc.com/article/264180 很久之前有过一次面试,被问到一个问题,能不能写一个冒泡排序?说实话,尽管在这之前曾经写过不少比这个更 ...

  2. 排序算法:简单选择排序算法实现及分析

    简单选择排序算法介绍 简单选择排序(Simple Selection Sort)就是通过n-1次关键字排序之间的比较,从n-i+1个记录中选择关键字最小的记录,并和第i(1<=i<=n)记 ...

  3. 简单选择排序算法 (JAVA)

    算法实现思想: 选择排序一共排序了n-1轮. for (int i = 0; i < arr.length - 1; i++) {} 定义变量min来记录每轮中需要比较序列中的最小数,变量min ...

  4. python选择排序算法图解_简单选择排序算法(C语言详解版)

    该算法的实现思想为:对于具有 n 个记录的无序表遍历 n-1 次,第 i 次从无序表中第 i 个记录开始,找出后序关键字中最小的记录,然后放置在第 i 的位置上. 例如对无序表{56,12,80,91 ...

  5. C语言、Java学习笔记(三)---几种简单的排序算法

    假期已经过了一半,整个人都变得颓废了许多.今天没有出去玩,就学了几个简单的排序算法,以求安慰自己,好歹也是在假期里学习过了.(瘫- C 这里一次性给出三种排序方法的代码,分别是冒泡排序,选择排序和归并 ...

  6. C语言实现选择排序——简单选择排序算法

    C语言实现简单选择排序 文章目录 C语言实现简单选择排序 简单选择排序算法 1.交换操作 2.简单选择排序算法实现 项目完整代码 运行效果图 简单选择排序算法 1.交换操作 //交换实现 void s ...

  7. java 排序原理_简单选择排序算法原理及java实现(超详细)

    简单选择排序的原理 简单选择排序的原理非常简单,即在待排序的数列中寻找最大(或者最小)的一个数,与第 1 个元素进行交换,接着在剩余的待排序的数列中继续找最大(最小)的一个数,与第 2 个元素交换.以 ...

  8. JAVA简单选择排序算法原理及实现

    简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...

  9. 选择排序java代码_JAVA简单选择排序算法原理及实现

    简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...

  10. java 快速排序算法简单_排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序......

    先推荐一篇关于排序算法的文章:http://www.cppblog.com/guogangj/archive/2009/11/13/100876.html 本文思路部分来源于上篇文章,但测得的结果似乎 ...

最新文章

  1. 五角大楼公布UFO报告,不明飞行物到底是什么?(全文)
  2. Runnable和Thread的区别
  3. 052_CSS3 appearance属性
  4. python3常用模块_python常见模块有哪些
  5. Boost enable_if库的测试程序
  6. Leet Code OJ 58. Length of Last Word [Difficulty: Easy]
  7. 根据进程名杀掉jps中的进程名
  8. Java--线程同步
  9. 运行到手机_清理手机垃圾的三个方法,让手机恢复流畅运行
  10. .describe() python_Python实现ARMA模型
  11. Gradle下载官方地址
  12. npoi导出的excel中设置列宽
  13. 数学游戏“数三角形”的可编程图论模型
  14. 微吼直播 html5,微吼直播jssdk接入指引.pdf
  15. 增长黑客理论(AARRR)模型
  16. D-feet的安装与使用
  17. 用二代测序数据的reads组装一个基因序列
  18. CentOS7 开启 BBR 加速
  19. Linux unrar命令如何按目录解压rar文件
  20. 前端生成海报的 N 种方案和优劣对比

热门文章

  1. Linq lambda表达式经验总结
  2. CString 和 char * 的相互转换
  3. 【屏幕保护】GIS相关的屏幕保护【什么是GIS】
  4. 普通地图的六大要素_地图的基本要素是什么 主要是哪三大要素
  5. Mysql8.0 15安装后怎么打开_mysql-8.0.15-winx64 解压版安装 图文详解
  6. 一元线性回归多元线性回归
  7. 前端JavaScript开发中需要注意的代码问题
  8. 为什么前端工程师的工作很难找?
  9. 为什么很多人转行学习Web前端技术?
  10. python文献检索工具与技巧答案_短文本分析----基于python的TF-IDF特征词标签自动化提取...