A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#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;
            }
        }
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马