此段程序是利用气泡法排序的么

来源:百度知道 编辑:UC知道 时间:2024/05/29 03:40:57
#include<stdio.h>
void swap(int a[10]);
void main()
{int a[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
swap(a);
for(i=0;i<10;i++)
printf("%4d",a[i]);
}
void swap(int a[10])
{int i,j,k,t;
for(i=0;i<9;i++)
{ k=i;
for(j=i+1;j<10;j++)
if(a[j]>a[k])k=j;

{t=a[k];
a[k]=a[i];
a[i]=t;}}
}
最好再给出一个比较典型的气泡法排序程序

常用的排序法还有什么
都各自举出例子

先谢过各位 ,因为我实在没有分数
~~~

是用冒泡法排序的
下面我提供一个冒泡法的实例
#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
int a[20];
cout<<"请输入这20个数:"<<endl;
for(int i=0;i<20;i++)
cin>>a[i];
for(int i=0;i<20-1;i++)
{
for(int j=i+1;j<20;j++)
{
int temp;
if(a[i]>=a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
cout<<"排序后(从小到大):";
for(int i=0;i<20;i++)
cout<<a[i]<<" ";
cout<<endl;
system("PAUSE");
return 0;
}

void swap(int *a,int len)
{int i,j,t;
for(i=0;i<len-1;i++)
for(j=0;j<len-1-i;j++)
if(a[j]>a[j+1])