• 下标注意【算法】冒泡排序与选择排序的递归实现


    发一下牢骚和主题无关:

        1 冒泡排序

    1 冒泡排序:
    void bubbleSort(int *data,int start,int end)
    {
        if (start < end) {
            int temp = 0;
            int length = end - start + 1;
            for (int i = start; i < length - 1; i ++) {
                if (data[i] < data[i + 1]) {
                    temp = data[i];
                    data[i] = data[i + 1];
                    data[i + 1] = temp;
                }
            }
            end --;
            bubbleSort(data,start,end);
        }
        
    
    }
    
    
    注意问题:end--那里,注意每次递归的肇端终止下标的移动,肇端下标稳定,终止下标每次减1,
    循环结束条件 为start == end,以及i < length - 1;

        2 选择排序

        每日一道理
    水仙亭亭玉立,兰花典雅幽香,牡丹雍容华贵,梨花洁白无暇……美丽的花朵总能得到世人的羡慕与赞叹,殊不知,它从一粒小小的种子到最后开花,要历经无数的艰辛与坎坷!我们的成长也是如此。只有做辛勤的“织梦者”,我们的梦想才会成真!
    void selectionSort(int *data,int start,int end)
    {
        if (start < end)
        {
               
            //int length = end - start + 1;
            int temp = data[start];
            int index = start;
            for (int i = start + 1; i < end + 1; i ++) {
                if (data[index] > data[i]) {
                    index = i;
                }
            }
            
            for (int i = 0; i < 10; i ++) {
                printf("%d  ",data[i]);
            }
            printf("\n");
            
            if (start != index) {
                temp = data[start];
                data[start] = data[index];
                data[index] = temp;
            }
            
            start ++;
            selectionSort(data, start, end);
            
        }
    
    }
    
    
    
    注意问题:start ++那里,注意每次递归的肇端终止下标的移动,肇端每次加1,终止下标稳定,
    循环结束条件 为start == end,以及i < end + 1

    文章结束给大家分享下程序员的一些笑话语录: 据说有一位软件工程师,一位硬件工程师和一位项目经理同坐车参加研讨会。不幸在从盘山公路下山时坏在半路上了。于是两位工程师和一位经理就如何修车的问题展开了讨论。
    硬件工程师说:“我可以用随身携带的瑞士军刀把车坏的部分拆下来,找出原因,排除故障。”
    项目经理说:“根据经营管理学,应该召开会议,根据问题现状写出需求报告,制订计划,编写日程安排,逐步逼近,alpha测试,beta1测试和beta2测试解决问题。”
    软件工程说:“咱们还是应该把车推回山顶再开下来,看看问题是否重复发生。”

  • 相关阅读:
    java的内存分配
    Java多线程sleep和wait的区别
    java static关键字
    在自己电脑创建svn服务、导入和导出项目
    开发工具下载地址
    svn操作步骤
    java的反射
    正数|非负数|正整数正小数和0 |金额正则表达式
    springBatch文件批处理
    IE浏览器问题之清除缓存!!!
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3087408.html
Copyright © 2020-2023  润新知