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 }
  • 相关阅读:
    sql中实现先排序后分组
    mysql中的锁机制之概念篇
    PHP对程序员的要求更高
    给初学PHP的学习线路和建议
    设计模式六大原则
    Mysql忘记密码怎么办
    数据库 sql
    精准优化 if…else ,干掉,过多,烂代码!
    JDK1.8 新特性(全)
    mysql 如何修改 删除 添加 表主键
  • 原文地址:https://www.cnblogs.com/whp2011/p/3956420.html
Copyright © 2011-2022 走看看