实验15-哈希查找与排序-
题目描述
给定一组数据,使用直插排序完成数据的升序排序。
–程序要求–
若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio
程序中若include多过一个头文件,不看代码,作0分处理
不允许使用第三方对象或函数实现本题的要求
输入
数据个数n,n个数据
输出
直插排序的每一趟排序结果
输入样例
7 34 23 677 2 1 453 3
输出样例
23 34 677 2 1 453 3
23 34 677 2 1 453 3
2 23 34 677 1 453 3
1 2 23 34 677 453 3
1 2 23 34 453 677 3
1 2 3 23 34 453 677
#include<iostream>
using namespace std;
int main()
{
int n,i,j,temp;
cin>>n;
int a[n];
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n-1;i++)
{
if(a[i+1]<a[i])
{
for(j=0;j<i+1;j++)
{
if(a[j]>a[i+1])
{
temp=a[j];
a[j]=a[i+1];
a[i+1]=temp;
}
}
}
for(j=0;j<n;j++)
{
if(j==n-1)
cout<<a[j]<<endl;
else
cout<<a[j]<<" ";
}
}
return 0;
}
超简单,五分钟写完惹
本文介绍了一种简单的直插排序算法实现方式,并提供了一个具体的C++代码示例。该算法适用于小规模数据集的升序排列,通过逐步插入元素到已排序的部分来达到排序的目的。
879

被折叠的 条评论
为什么被折叠?



