zoukankan      html  css  js  c++  java
  • 冒泡、二分排序

     1 #include<stdio.h>
     2 
     3 void main()
     4 {
     5     int a[10] = {0};
     6     int i,j,t;
     7     printf("input 10 numbers:
    ");
     8     for (i = 0; i < 10; i++) {
     9         scanf("%d", &a[i]);
    10     }
    11     printf("
    ");
    12     
    13     for (j = 0; j < 9; j++) {
    14         for (i = 0; i < 9 - j; i++) {
    15             if (a[i] > a[i+1]) {
    16                 t = a[i];
    17                 a[i] = a[i+1];
    18                 a[i+1] = t;
    19             }
    20         }    
    21     }
    22     printf("The sorted numbers are:
    ");
    23     for (i = 0; i < 10; i++) {
    24         printf("%d ", a[i]);
    25     }
    26     printf("
    ");
    27 }

    以上是冒泡排序,前提没有要求,测试的数据可以无序。

    而二分法一般要求测试数据先排好序,一般是用于插入或查找一个数据。最后如果出现low > high就Over。

    二分法如下:

     1 #include<stdio.h>
     2 
     3 int main()
     4 {
     5     int a[10] = {-12, 0, 6, 16, 23, 56, 80, 100, 110, 115};
     6     int n, low, high, mid, found;
     7     low = 0;
     8     high = 9;
     9     found = 0;
    10     printf("Input a number to be searched:");
    11     scanf("%d", &n);
    12     
    13     while (low <= high) {
    14         mid = (low + high)/2;
    15         if (n == a[mid]) {
    16             found = 1;
    17             break;
    18         }
    19         else if (n > a[mid]) {
    20             low = mid + 1;
    21         }
    22         else {
    23             high = mid - 1;
    24         }
    25     }
    26     
    27     if (1 == found) {
    28         printf("The index of %d is %d
    ", n, mid);
    29     }
    30     else {
    31         printf("There's no %d
    ", n);
    32     }
    33     
    34     return 0;
    35 }
  • 相关阅读:
    一次开发中使用过的shell命令
    MySQL 数据库 Having 和Where的区别
    mysql 正则表达式
    mysql union与 union all 的区别
    压缩与解压
    MySQL Shell
    MGR监控报警
    MySQL Router单点隐患通过Keepalived实现
    expdp和impdp
    ogg trail文件序列号不一致
  • 原文地址:https://www.cnblogs.com/whp2011/p/3956420.html
Copyright © 2011-2022 走看看