NOJ 1036 数字排序
来源:互联网 发布:苹果官网软件 编辑:程序博客网 时间:2024/06/04 20:10
2016.10.28
【题目描述】
1036.数字排序
时限:1000ms 内存限制:10000K 总时限:3000ms
描述
给你N个数字,请用冒泡法对这N个数字进行降序排序,并输出结果
输入
第一行为N,N<=20 ;
第二行为N个数字,这N个数字用一个空格隔开
所有数均可用int型表示
输出
把这些数字用降序输出,每行输出一个,最后输出一个回车
输入样例
8
23 12 36 98 54 76 21 58
输出样例
98
76
58
54
36
23
21
12
【解题思路】
插入排序的思想。假设前n个数已经有序,在n个数中找到第n+1个数的合适位置,将其插入。
【代码实现】
# include <stdio.h>int n;int a[25];void insertion_sort();int main(void){ int i; scanf("%d", &n); for (i = 1; i <= n; ++i) scanf("%d", &a[i]); insertion_sort(); for (i = 1; i <= n; ++i) printf("%d\n", a[i]); return 0;}void insertion_sort(){ int i, j, k, t; for (j = 2; j <= n; ++j) { i = 1; while (a[j] < a[i])//找合适位置 i++; t = a[j];//记录a[j]的值 for (k = 0; k <= j-i-1; ++k)//数组整体向后移动 a[j-k] = a[j-k-1]; a[i] = t;//插入a[j] }}
【心得体会】
0 0
- NOJ 1036 数字排序
- NOJ 字符串排序 1023
- NOJ 1064 快速排序
- NOJ 1023 字符串排序
- NOJ 1002归并排序
- NOJ 1543 冒泡排序
- 数字三角形问题 NOJ 1226
- 股价排序问题 NOJ 1683
- 数字的空洞 水 南邮NOJ 1071
- Noj
- 算法练习-NOJ-1002-归并排序
- 算法练习-NOJ-1003-快速排序
- NOJ第56——字符串排序
- NOJ 1166 数字实力 筛素数+因子个数求和
- 数字排序
- 数字排序
- 数字排序
- 数字排序
- 2016.10.28
- NOIP 2013 【货车运输】
- shell 脚本-函数的定义和调用
- JAVA接口与抽象类(1)
- Linux 中/proc目录下文件详解
- NOJ 1036 数字排序
- Linux学习之字符界面操作
- 常用快捷键记录
- 什么是多态?为什么用多态?有什么好处?
- C debug 记录
- Java程序员面试题集(1-50)
- 作家与作品
- STM32学习--systick
- datastage笔记