求解一c++的题

来源:百度知道 编辑:UC知道 时间:2024/06/25 05:49:30
从键盘输入10个常数32,56,78,9,21,70,26,90,66,88,编一程序将这十个数按照从小到大的顺序显示出来。

#include <iostream>
#define NUM 10
using namespace std;

int main()
{

int a[NUM];
for (int i = 0;i < NUM; i++)
cin>>a[i];
for (int pass = 1;pass < NUM;pass++)
{
for (int i = 0;i < pass - 1;i++)
{
if (a[pass] < a[i])
{
int temp = a[i];a[i] = a[pass];a[pass] = temp;
}
}
}
for (int i = 0;i < NUM; i++)
cout<<a[i]<<" ";
cout<<endl;
}

输入到数组里,进行选择或冒泡排序。

所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下:
输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。
输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。

这里,我们简单介绍几种排序方法,直接插入排序、希儿排序、冒泡排序、快速排序、直接选择排序,文中所提及的代码在IE6下测试通过。

直接插入排序基本思想
假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。

算法描述
function InsertSort(arr) { //插入排序->直接插入法排序
var