栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

D-OJ刷题日记:输出直接插入排序每趟比较的过程 题目编号:196

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

D-OJ刷题日记:输出直接插入排序每趟比较的过程 题目编号:196

 在教材中直接插入排序的基础之上,加入输出比较过的元素的过程。最后输出排好序的结果。

输入描述
第一行输入待排序记录个数
第二行输入待排序序列

输出描述
 输出每一趟比较的过程,每趟占一行
 
输出最后排好序的结果,要求不输出空行
 
输入样例
10
17 5 22 87 8 10 1 23 68 2
输出样例
17
87 22 17
87 22 17
87 22 17 10 8 5
87
87
87 68 23 22 17 10 8 5
1 2 5 8 10 17 22 23 68 87

思路:水

代码:

#include
using namespace std;
int main()
{
	int n, a[100];
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	//插入排序
	int i, j, temp;

	for (i = 1; i < n; i++)//插入n-1次
	{
		temp = a[i];

		for (j = i - 1; j >= 0 && temp < a[j]; j--)
		{
			cout << a[j] << ' ';

			a[j + 1] = a[j];

			a[j] = temp;
		}
		//cout << endl;
	}

	//输出
	for (int i = 0; i < n; i++)
		cout << a[i] << ' ';
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664992.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号