黑马程序员技术交流社区

标题: 二分法和冒泡法简单的实现,希望对iOS新学员有些帮助. [打印本页]

作者: 胡健cc    时间: 2016-5-9 00:42
标题: 二分法和冒泡法简单的实现,希望对iOS新学员有些帮助.
#include <stdio.h>
//冒泡排序声明
void maoPao(int arr[],int len);

int main(int argc, const char * argv[])
{
    int arr1[] = {123,232,314,465,576,687,978,389,190,223,235};
    int len = sizeof(arr1) / sizeof(arr1[0]);
    //调用冒泡函数
    maoPao(arr1, len);
   
    //找出687在这个数组中的下标
    int flag = 687;
    int min = 0;
    int max = len - 1;
    int mid = len / 2;
   
    while (flag != arr1[mid])
    {
        if (flag >= arr1[mid])
        {
            //说明687在这个数组的右边
            min = mid + 1;
        }
        else
        {
            //这时687在这个数组的左边
            max = mid - 1;
        }
        
        mid = (min + max) / 2;
    }
    printf("687在这个数组中的下标是%d\n",mid);
   
    return 0;
}
/**
*  采用冒泡排序将数组从小大进行排序
*
*  @param arr arr[]
*  @param len len
*/
void maoPao(int arr[],int len)
{
    for (int i = 0; i < len; i++)
    {
        for (int j = 0; j < len - 1 -i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2