编写一个sort函数,使用冒泡法对数组a中n个整数由小到大进行排列,用C程序编写。

如题所述

#include "stdio.h"
void sort(int* arr, int n)
{int i,j,t;

for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(arr[j]>arr[j+1])
{
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
}
void main()
{
int i,a[100],n;

scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-28
void sort(int* a, int lenth)
{
for(i = 0; i < len; i++)
for(j = i; j < len-1; j++)
if(arr[j] > arr[j+1]) /*判断,如果前边大于后边就交换*/
{
temp = arr[j]; /*交换语句顺序不可错*/
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
最精简的冒泡排序,时间复杂度最小了。
第2个回答  2011-12-28
int sort(int* arr, int len)
{
for(int i = 0; i < len; i++)
for(int j = 0; j < len; j++)
if(arr[i] < arr[j]){int temp = arr[i];arr[i]=arr[j];arr[j]=temp;}
}
int main()
{
int a[]={4,6,1,8,6,1,4,19};
sort(a,sizeof(a)/sizeof(a[0]));
}
第3个回答  推荐于2016-03-20
Program Bubble_sort; const infile='input.txt'; outfile='output.txt'; maxn=100; //这是数字的最大个数,可以更改 var n:longint; a:array[1.追问

能完整一点吗?

本回答被网友采纳
相似回答