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

scau 8638 直接插入排序

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

scau 8638 直接插入排序

时间限制:1000MS  代码长度限制:10KB
提交次数:2050 通过次数:1393

题型: 编程题 语言: G++;GCC

Description
用函数实现直接插入排序,并输出每趟排序的结果.



 

输入格式
第一行:键盘输入待排序关键的个数n
第二行:输入n个待排序关键字,用空格分隔数据


 

输出格式
每行输出一趟排序结果,数据之间用一个空格分隔


 

输入样例
10
5 4 8 0 9 3 2 6 7 1


 

输出样例
4 5 8 0 9 3 2 6 7 1
4 5 8 0 9 3 2 6 7 1
0 4 5 8 9 3 2 6 7 1
0 4 5 8 9 3 2 6 7 1
0 3 4 5 8 9 2 6 7 1
0 2 3 4 5 8 9 6 7 1
0 2 3 4 5 6 8 9 7 1
0 2 3 4 5 6 7 8 9 1
0 1 2 3 4 5 6 7 8 9


 

提示
 


 

作者

 yqm
 

Version:

0


#include 

using namespace std;

int ans[1000];

void print(int* a)
{
	for (int i = 1; i <= a[0]; i++)
		cout << a[i] << ' ';
	cout << endl;
}

void insertsort(int* ans)
{
	int i, j;
	for (i = 2; i <= ans[0]; i++) {
		if (ans[i] < ans[i - 1]) {
			j = i;
			while (j > 1 && ans[j] < ans[j - 1]) {
				swap(ans[j], ans[j - 1]);
				--j;
			}	
		}
		print(ans);
	}
}

int main()
{
	int i, n;
	cin >> n;
	ans[0] = n;
	for (i = 1; i <= n; i++)
		cin >> ans[i];
	insertsort(ans);
}

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

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

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