数组排序C,是否正确?

时间:2012-07-03 14:54:29

标签: c arrays sorting

我写了这个函数来命令数组元素,这样好吗?

我仍然是C编程的菜鸟,所以我更愿意问。

bSortArray(int array[], int arrayL)
{
    int i,j,temp;
    for(i=0;i<arrayL;i++)
    {
        for(j=0;j<arrayL-1;j++)
        {
            if(array[i]<array[j])
            {
                temp=array[i];
                array[i]=array[j];
                array[j]=temp;
            }
        }
    }
}

2 个答案:

答案 0 :(得分:1)

你可以使用冒泡排序将小值带到数组的开头, 或者您可以使用冒泡排序将大值带到数组的末尾。 维基百科页面上的动画显示了第二个案例。 参考: http://en.wikipedia.org/wiki/Bubble_sort

这是一个实现,如果它在没有交换任何东西的情况下传递i,它将提前终止循环。 http://www.c.happycodings.com/Sorting_Searching/code4.html

请注意,内部循环应该将给定索引处的值与其“邻居”进行比较。 即 数组[j]&gt;阵列[J + 1]。

答案 1 :(得分:-1)

使用qsort() - http://www.cplusplus.com/reference/clibrary/cstdlib/qsort/

如果需要,提供更多信息。