zl程序教程

您现在的位置是:首页 >  其它

当前栏目

2015.08.15冒泡排序

15 冒泡排序
2023-09-14 08:59:37 时间
定义数组——随机数a[i] = arc4random_uniform(随机N);并打印——for外不循环控制趟数=元素个数-1 ——for中(i+j) = 定值(元素总个数)内部控制循环次数j /b (元素个数 - 1 - i)——//遍历数组查并打印
//   总结;********************************************************************************************** 1、开始是元素个数-1趟进行完毕   、 //第一趟 //    for (int i = 0; i 4 - 1; i ++) {
//        if (arr[i] arr[i + 1]) {
//            int temp = arr[i];
//            arr[i] = arr[i +1];
//            arr[i + 1] = temp;
//            
//            
//        } //    } 2、每走完一趟要进行遍历数组 //遍历数组 //    for (int i = 0; i i ++) {
//        printf("%d\t",arr[i]); //    } 3、循环完内部进行外部循环来控制趟数:趟数 = 元素个数减1,并且新定义的  j + i= 元素总个数是定值;所以 j 元素个数-1 - i; //    //外部循环用来控制趟数,比较的趟数等于元素个数-1
//    //    j + i = 4;
//    for (int i = 0; i 4 - 1; i ++) {
//        for (int j = 0; j 4 - i - 1; j ++) {
//            if (arr[j] arr[j + 1]) {
//                int temp = arr[j];
//                arr[j] = arr[j + 1];
//                arr[j +1 ] = temp;
//            }
//        } //    } 4、最后再遍历数组查验: //    //遍历数组
//    for (int i = 0; i i ++) {
//        printf("%d\t",arr[i]); //    } ************************************************************************************************************************************ //#import 
//
//    int main( ) //主函数入口
//    { //表示主函数开始
//        int i,j; //定义整形变量i和j
//        int grade[5],temp; //定义N维(N=5,也就是五维啦^^)整形数组和整形变量temp
//        printf("输入5个数\n"); //在屏幕上显式“输入5个数”并且换行
//        for(i=0;i i++) //开始for循环,从i=0,每次加1,直到i=4,共需循环5次
//        { //循环体开始
//            scanf("%d", grade[i]); //依次获取用户输入的整数值并存入数组grade中
//        } //循环结束
//        for(i=0;i i++) //开始外层for循环,从i=0,每次加1,直到i=4
//        { //外层循环体开始
//            for(j=0;j 5-1-i;j++) //开始外层for循环,从j=0,每次加1直到i等于外层循环的N-j-1
//            { //内层循环体开始
//                if(grade[j]
//                { //如果整形数组前面的数比其后的小,执行以下语句
//                    temp=grade[j+1]; //将比较大的数赋值给temp
//                    grade[j+1]=grade[j]; //将比较小的数赋值给数组中后面的变量
//                    grade[j]=temp; //将比较大的数赋值给数组中前面的变量
//                } //从此便完成大小变量的交换,使得大值往前放
//            } //结束内层循环
//        } //结外内层循环,完成排序 
//        printf("最后排序为:\n");//在屏幕显式“最后排序为:”并换行 
//        for(i=0;i i++) //同开始的for循环类似
//        { //开始循环输出 
//            printf("%d",grade[i]); //只是这里要逐个输出数组中的五个数值 
//        } //结束循环输出 
//        printf("\n"); //输出换行到屏幕,看不到什么效果,可删掉 
//     //结束main()函数 //   ******************************经典例题************************************* 编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排序,然 后将这两个数组合并成一个升序数组。     //先定义两个数组
//    int a[5] = {0};
//    int b[5] = {0};
//    int c [10] = {0};
//    printf("\n排序前:\n");
//    //打出两个随机数组
//    for (int i = 0; i i ++) {
//        a[i] = arc4random_uniform(100);
//        b[i] = arc4random_uniform(100);
//        printf("a[%d] = -\t,b[%d] = -\n",i,a[i],i,b[i]);
//        
//    }
//    //外部循环控制趟数
//    for (int i = 0; i 5 - 1; i ++) {
//        //内部控制循环次数
//        for (int j = 0; j 5 - 1 - i; j ++) {
//            if (a[j] a[j + 1]) {
//                 int x = a[j];
//                a[j] = a[j + 1];
//                a[j + 1] = x;
//            }
//            if (b[j] b[j +1]) {
//                int y = b[j];
//                b[j] = b[j +1];
//                b[j + 1] = y;
//            }
//        }
//    }
//    printf("\n排序后:\n");
//    //遍历数组查看
//    for (int i = 0; i i ++) {
//        printf("a[%d] = -\t b[%d] = -\n",i,a[i],i,b[i]);
//    }
//    //将两个数组放到一个数组c中
//    for (int i = 0; i i ++) {
//        if (i 5) {
//            c[i] = a[i];
//        } else {
//            c[i] = b[i - 5];
//        }
//    }
////对数组c进行升序排序
//    for (int i = 0; i 10- 1; i ++) {
//        if (c[i] c[i +1]) {
//            int temp = c[i];
//            c[i] = c[i + 1];
//            c[i +1] = temp;
//        }
//    }
//    //遍历循环查验
//    printf("\n重组排序后:\n");
//    for (int i = 0; i i ++) {
//        printf("a[%d] = -\n",i,c[i]); //    }
冒泡排序就这么简单 在我大一的时候自学c语言和数据结构,我当时就接触到了冒泡排序(当时使用的是C语言编写的)。现在大三了,想要在暑假找到一份实习的工作,又要回顾一下数据结构与算法的知识点了。
你知道和你不知道的冒泡排序 这篇文章包含了你一定知道的,和你不一定知道的冒泡排序。 gif看不了可以点击【原文】查看gif。 1. 什么是冒泡排序 可能对于大多数的人来说比如我,接触的第一个算法就是冒泡排序。 我看过的很多的文章都把冒泡排序描述成我们喝的汽水,底部不停的有二氧化碳的气泡往上冒,还有描述成鱼吐泡泡,都特别的形象。