排序和二分法查找的代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27087571/article/details/79485010

排序和二分法查找的代码

  1. 简单的实例代码
        int fun_search(int *array,int size,int aim)
        {
            int min,max,mid;
            min = 0;
            max = size-1;

            while(max-min>1){
                mid = (min+max)/2;
                    if(array[mid] < aim)
                        min = mid;
                    else
                        max = mid;
                }
                printf("min:%d, max:%d,mid:%d\n",min,max,mid);
                return array[mid];
        }

        int array_sort(int *array, int size)
        {
            int i = 0,j = 0,min,visit;
            for(i = 0;i < size;i++){
                min = array[i];
                for(j = i;j < size;j++){
                    if(min > array[j]){
                        visit = min;min = array[j];array[j] = visit;
                    }
                }
                array[i] = min;
            }
            return 0;
        }

        int main()
        {
            int array[20];
            for(int i = 0;i<20;i++){
                array[i] = rand();
                printf("%d\n", array[i]);
            }
            printf("\n");
            array_sort(array,20);
            for(int i = 0;i < 20;i++){
                printf("%d\n", array[i]);
            }

            printf("aim:%d, find:%d\n", array[18], fun_search(array,20,array[18]));

            return 0;
        }

猜你喜欢

转载自blog.csdn.net/qq_27087571/article/details/79485010