• 选择排序&冒泡排序&折半查找


    //选择排序

    void test2(int a[],int len){

    //每次找出一个最小值,最小值依次与原数组交换位置,通过下标来完成交换,最小值下标每次都在变,变量存储

    //    假如第一个是最小值

        int mine=0;

        int teamp=0;

    //    外层负责趟数

        for (int i=0; i<len; i++) {

            //    假如每一次的第一个是最小值

            mine=i;

    //    内层负责寻找每趟的最小值

    //        每次起始比较值都不一样所以j=i+1,改变次数

            for (int j=i+1; j<len; j++) {

    //            最小值下标赋给mine

                if (a[mine]>a[j]) {

                    mine=j;

                }

    //

            }

    //        交换   mine!=i表示最小值不是假设的值

            if (mine!=i) {

                teamp=a[i];

                a[i]=a[mine];

                a[mine]=teamp;

            }

            

    //        每次打印的都是最小值

            printf("%d ",a[i]);

            

        

    }

    }

    //冒泡排序

    void test3(int a[],int len){

        int temp=0;

    //外层负责趟数

        for (int i=0; i<len; i++) {

    //        内层负责每趟交换,起始值j=0不变,len-i-1控制次数

            for (int j=0; j<len-i-1; j++) {

    //            相邻值进行比较

                if (a[j]>a[j+1]) {

    //交换

                    temp=a[j+1];

                    a[j+1]=a[j];

                    a[j]=temp;

                

                }

            }

            printf("%d ",a[len-i-1]);

        }

        printf(" ");

    }

    //折半查找,针对有序数组

    int  test4(int a[],int len,int key){

    //    指向最高,最低,以及中间下标的变量

        int hight=len-1,low=0,mid=0;

        

        

    //    当low,hight,mid指向同一个时,就可以找到值

        while (low<=hight) {

            mid=(hight+low)/2;

    //        在右边

            if (key>a[mid]) {

                low=mid+1;

                //            在左边

            }else if (key<a[mid]){

                hight=mid-1;

    }

    //        刚好是

                else{

                return mid;

            }

        }

            return -1;

        }

        

  • 相关阅读:
    排序算法 之 冒泡排序 插入排序 希尔排序 堆排序
    DataStructure之线性表以及其实现
    使用可重入函数进行更安全的信号处理
    内存经济学
    电脑通用技能
    循环套餐的逻辑
    占用了多少内存
    索引的用法
    电脑的眼缘
    字符串积木
  • 原文地址:https://www.cnblogs.com/lijianyi/p/4278530.html
Copyright © 2020-2023  润新知