第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]));
}