早教吧 育儿知识 作业答案 考试题库 百科 知识分享

数据结构题目将一个杂乱无序的整数序列,按照从小到大的顺序排列并输出。请加入解释注意:不能调用系统排序函数,源码中不要出现sort,自定义的也不行,换其它名字。

题目详情
数据结构题目
将一个杂乱无序的整数序列,按照从小到大的顺序排列并输出。【【【请加入解释】 】】
注意:不能调用系统排序函数,源码中不要出现sort,自定义的也不行,换其它名字。
输入
测试数据不止一组,每组测试数据:
1)先输入无序序列的整数个数n;(n不超过1000000)
2)然后连续输入n个整数;
若n的值输入为0值,则输入结束.
输出
与每组输入的测试数据相对应,输出其按从小到大排好序后的整数序列.
注意:每组输出占一行.
样例输入
10
9 8 7 6 5 4 3 2 1 -1
5
88 77 66 55 33
0
样例输出
-1 1 2 3 4 5 6 7 8 9
33 55 66 77 88
可采用冒泡排序、插入排序、选择排序、快速排序、希尔排序、堆排序等方法完成此题。
▼优质解答
答案和解析
#include <stdio.h>
void BubbleSort(int n,int* R) ;
main() 

int n;
 while(true)
{
    cin>>n;
   if(n>1000000) break;
  else
  {
    int *array = new int[n];
    BubbleSort(n,array) ;
    for(int i =0;i<n'i++)
       {
           printf("%5d,",a[i] ); 
        }
       delete array;
       printf("\n");
  }
}
void BubbleSort(int n,int* R) 
{ //R(l..n)是待排序的文件,采用自下向上扫描,对R做冒泡排序 
int i,j; 
Boolean exchange; //交换标志 
for(i=1;i<n;i++){ //最多做n-1趟排序 
exchange=FALSE; //本趟排序开始前,交换标志应为假 
for(j=n-1;j>=i;j--) //对当前无序区R[i..n]自下向上扫描 
if(R[j+1].key<R[j].key){//交换记录 
R[0]=R[j+1]; //R[0]不是哨兵,仅做暂存单元 
R[j+1]=R[j]; 
R[j]=R[0]; 
exchange=TRUE; //发生了交换,故将交换标志置为真 

if(!exchange) //本趟排序未发生交换,提前终止算法 
return; 
} //endfor(外循环) 
} //BubbleSort
看了 数据结构题目将一个杂乱无序的...的网友还看了以下:

形容心烦意乱的诗句最好是比较隐晦的,不是一眼就能看出心烦意乱的  2020-05-17 …

从Thanksgiving中抽出任意个英文字母可以组成多少个单词?(不重复抽取字母)如从holid  2020-07-12 …

“现代性孕育着稳定,而现代化过程却滋生着动乱。”“如果一个国家出现动乱,那并非因为他们贫穷,而是因  2020-07-24 …

“现代性孕育着稳定,而现代化过程却滋生着动乱。”“如果一个国家出现动乱,那并非因为他们贫穷,而是因为  2020-11-22 …

从上面的词语中选4个下上一段话!(有回答+50分)放声大哭反败为盛一面之教泪如雨下心烦意乱齐声喝彩喊  2020-11-23 …

现阶段,我国市场经济出现了信用秩序混乱,比如逃避债务,信用“塌方”。欠债不还,信用退化现象目前已经呈  2020-12-05 …

假定你是李华,你所在的城市为了改善环境,最近推出了"摩拜单车"(mobike)-公共自行车租借活动.  2020-12-06 …

选词说话!!!!!!!!!!!!!!!!放声大哭天文地理齐声喝彩反败为胜喊声不绝一面之交目不斜视泪如  2020-12-08 …

假定你是李华,就暑假游览北山公园时看到的一些情况给报社写一封信,对这些情况进行反映并提出建议。内容包  2021-01-08 …

从上面的词语中选4个写一段话!(有回答+50分)放声大哭反败为盛一面之教泪如雨下心烦意乱齐声喝彩喊声  2021-02-05 …