栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言(指针)实现:1) 有序数组元素的倒序输出;2) 实现无序数组元素的有序输出。

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言(指针)实现:1) 有序数组元素的倒序输出;2) 实现无序数组元素的有序输出。

#include

#define N 10

int main() {

    int arr[N];
    int* p;
    p = arr;
    int i;
    int j;
    printf("Please enter number to populate the array!n");
    for (i = 0; i < N; i++) {
        scanf(" %d", p + i);
    }
    for (p = arr; p < (arr + N); p++) {
        printf("%d ", *p);
    }
    p = arr;
    
    printf("n");
    //    冒泡排序
    for (i = 0; i < N - 1; i++)
    {
        //    外层循环记录比较的位置
        for (j = i; j < N - 1; j++) {
            //    内层循环控制比较的元素
            if (*(p + j) > *(p + j + 1)) {
            
                *(p + j) ^= *(p + j + 1);
                *(p + j + 1) ^= *(p + j);
                *(p + j) ^= *(p + j + 1);
        //    运用(^运算符)的本质还是中间变量;
            }
        }
    }
    for (p = arr; p < (arr + N); p++) {
        printf("%d ", *p);
    }
    p = arr;
    printf("n");
    int* q = arr + (N - 1);
    //    倒序输出
    while (p != q) {
        *p ^= *q;
        *q ^= *p;
        *p ^= *q;
        p++;
        q--;
    }
    for (i = 0; i < N; i++) {
        printf("%d ", arr[i]);
    }
    printf("n");
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1010458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号