冒泡排序(指针、数组)

a.
#include
int main()
{
    int array[6] = {1,2,3,4,5,6}; //定义并初始化一个一维数组
    int i = 0, j = 0, temp = 0;     //定义 i , j , temp ,变量并初始
化。temp用于交换数据位置。
    
    for(i = 0; i < 6 - 1; i++)    //第一层循环用来控制趟数,N个
数作比较需要 比较N-1趟。建议养成从0开始数数的 习惯 。
    {
        for(j = 0; j < 6- i - 1; j++)    //第二层循环来控制每趟比较
的次数。N个数作比较需要N-i-1次,因为每次比较完都会得
到一个最大或最小值下次比较就会少比较一次。
        {
            if(array[j] < array[j+1])   //判断第j个数与下一个数的大
小,如果小于下一个数则两个数进行交换。
            {
                temp = array[j];          //交换需要一个第三方容器
                array[j] = array[j+1];
                array[j+1] = temp;
            }
        }
    } //排序完成。
    
    for(i = 0; i < 6; i++)  //注意数组的访问需要一个一个的
访问数据,必须用循环。
    {
        printf("array[%d]=%d\n",i,array[i]); //打印数组的每一
位数据。
    }
    return 0;
}

b.

#include
void swap(int *p,int size)
{
    int i=0;
    int j=0;
    for(i=0;i

c.

#include
void swap(int *p,int size)
{
    int i=0;
    int j=0;
    for(i=0;i

你可能感兴趣的:(冒泡排序(指针、数组))