最简单的排序算法(C和C++实现)
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++实现)相关推荐
- 通讯录排序 (20分)_算法入门篇:简单的排序算法
作者:dorseyCh来源:http://www.imooc.com/article/264180 很久之前有过一次面试,被问到一个问题,能不能写一个冒泡排序?说实话,尽管在这之前曾经写过不少比这个更 ...
- 排序算法:简单选择排序算法实现及分析
简单选择排序算法介绍 简单选择排序(Simple Selection Sort)就是通过n-1次关键字排序之间的比较,从n-i+1个记录中选择关键字最小的记录,并和第i(1<=i<=n)记 ...
- 简单选择排序算法 (JAVA)
算法实现思想: 选择排序一共排序了n-1轮. for (int i = 0; i < arr.length - 1; i++) {} 定义变量min来记录每轮中需要比较序列中的最小数,变量min ...
- python选择排序算法图解_简单选择排序算法(C语言详解版)
该算法的实现思想为:对于具有 n 个记录的无序表遍历 n-1 次,第 i 次从无序表中第 i 个记录开始,找出后序关键字中最小的记录,然后放置在第 i 的位置上. 例如对无序表{56,12,80,91 ...
- C语言、Java学习笔记(三)---几种简单的排序算法
假期已经过了一半,整个人都变得颓废了许多.今天没有出去玩,就学了几个简单的排序算法,以求安慰自己,好歹也是在假期里学习过了.(瘫- C 这里一次性给出三种排序方法的代码,分别是冒泡排序,选择排序和归并 ...
- C语言实现选择排序——简单选择排序算法
C语言实现简单选择排序 文章目录 C语言实现简单选择排序 简单选择排序算法 1.交换操作 2.简单选择排序算法实现 项目完整代码 运行效果图 简单选择排序算法 1.交换操作 //交换实现 void s ...
- java 排序原理_简单选择排序算法原理及java实现(超详细)
简单选择排序的原理 简单选择排序的原理非常简单,即在待排序的数列中寻找最大(或者最小)的一个数,与第 1 个元素进行交换,接着在剩余的待排序的数列中继续找最大(最小)的一个数,与第 2 个元素交换.以 ...
- JAVA简单选择排序算法原理及实现
简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...
- 选择排序java代码_JAVA简单选择排序算法原理及实现
简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...
- java 快速排序算法简单_排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序......
先推荐一篇关于排序算法的文章:http://www.cppblog.com/guogangj/archive/2009/11/13/100876.html 本文思路部分来源于上篇文章,但测得的结果似乎 ...
最新文章
- 五角大楼公布UFO报告,不明飞行物到底是什么?(全文)
- Runnable和Thread的区别
- 052_CSS3 appearance属性
- python3常用模块_python常见模块有哪些
- Boost enable_if库的测试程序
- Leet Code OJ 58. Length of Last Word [Difficulty: Easy]
- 根据进程名杀掉jps中的进程名
- Java--线程同步
- 运行到手机_清理手机垃圾的三个方法,让手机恢复流畅运行
- .describe() python_Python实现ARMA模型
- Gradle下载官方地址
- npoi导出的excel中设置列宽
- 数学游戏“数三角形”的可编程图论模型
- 微吼直播 html5,微吼直播jssdk接入指引.pdf
- 增长黑客理论(AARRR)模型
- D-feet的安装与使用
- 用二代测序数据的reads组装一个基因序列
- CentOS7 开启 BBR 加速
- Linux unrar命令如何按目录解压rar文件
- 前端生成海报的 N 种方案和优劣对比
热门文章
- Linq lambda表达式经验总结
- CString 和 char * 的相互转换
- 【屏幕保护】GIS相关的屏幕保护【什么是GIS】
- 普通地图的六大要素_地图的基本要素是什么 主要是哪三大要素
- Mysql8.0 15安装后怎么打开_mysql-8.0.15-winx64 解压版安装 图文详解
- 一元线性回归多元线性回归
- 前端JavaScript开发中需要注意的代码问题
- 为什么前端工程师的工作很难找?
- 为什么很多人转行学习Web前端技术?
- python文献检索工具与技巧答案_短文本分析----基于python的TF-IDF特征词标签自动化提取...