十-二 2021-11-30 15:39 采纳率: 94.3%
浏览 14
已结题

这里我创建了一个对数组冒泡排序的函数,然后我放入一个数组进去实现冒泡排序,可不可以只实现在创建的函数中进行冒泡排序并打印,而原数组(在主函数里的)不被改变)

img

  • 写回答

1条回答 默认 最新

  • -Undefined_ 2021-11-30 15:52
    关注

    拷贝一份就可以了

    #include<stdio.h>
    #include<string.h>
    void maopao(int *a,int n){
        int b[n],temp;
        for(int i=0;i<n;i++){
            b[i] = a[i];
        }
        for(int i=0;i<n-1;i++){
            for(int j=0;j<n-1-i;j++){
                if(b[j]>b[j+1]){
                    temp=b[j];
                    b[j]=b[j+1];
                    b[j+1]=temp;
                }
            }
        }
        for(int i=0;i<n;i++){
            printf("%d ",b[i]);
        }
        printf("\n");
    }
    int main() {
        int a[5]={1,2,5,3,4};
        maopao(a,5);
        for(int i=0;i<5;i++){
            printf("%d ",a[i]);
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月8日
  • 已采纳回答 11月30日
  • 创建了问题 11月30日