首页 > 试题广场 >

程序填空

[问答题]

程序填空

下列算法为奇偶交换排序,思路如下:第一趟对所有偶数的i,将a[i]和a[i+1]进行比较,第二趟对所有奇数的i,将a[i]和a[i+1]进行比较,每次比较时若a[i]>a[i+1],将二者交换;以后重复上述二趟过程,直至整个数组有序。

i+=2
1
i=0;i<=n-2;i+=2
1
flag==1
发表于 2021-08-03 20:41:07 回复(0)
    int flag,i,t,n=5;
    int a[5]={12,2,14,3,5};
    do {
        flag=0;
        for (i=0;i<n-1;i+=2) {
            if (a[i]>a[i+1]) {
                flag=1;
                t=a[i+1];
                a[i+1]=a[i];
                a[i]=t;
            }
        }
        for (i=1;i<n-1;i+=2) {
            if (a[i]>a[i+1]) {
                flag=1;
                t=a[i+1];
                a[i+1]=a[i];
                a[i]=t;
            }
        }
    } while(flag);
    for (i=0;i<n;i++) {
        printf("%d,",a[i]);
    }
发表于 2017-12-04 19:35:28 回复(0)