冒泡排序算法
时间: 1ms 内存:128M
描述:
设计一个程序,实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。
输入:
输出:
每个排序过程输出一行,直到排序完成。
示例输入:
示例输出:
9 8 7 6 5 4 3 2 1 0
...
...
提示:
参考答案(内存最优[0]):
#include <iostream>
using namespace std;
void display(int a[],int n)
{
for(int i=0;i<n;i++)
{
cout<<a[i];
if(i!=n-1)cout<<' ';
}
cout<<endl;
}
void MaoPaoSort(int a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j+1]<a[j])
swap(a[j+1],a[j]);
display(a,n);
}
}
}
int main()
{
int a[11]={9,8,7,6,5,4,3,2,1,0};
int n=10;
display(a,n);
MaoPaoSort(a,n);
return 0;
}
参考答案(时间最优[0]):
#include<stdio.h>
int main()
{
int a[10]= {9,8,7,6,5,4,3,2,1,0};
int i,j,k,s;
for(k=0; k<9; k++)
printf("%d ",a[k]);
printf("%d\n",a[9]);
for(i=0;i<9; i++)
{
for(j=9; j>i; j--)
if(a[j]<a[j-1])
{
k=a[j];
a[j]=a[j-1];
a[j-1]=k;
}
for(s=0; s<9; s++)
printf("%d ",a[s]);
printf("%d\n",a[9]);
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。