zoukankan      html  css  js  c++  java
  • C语言学习13

    快速排序

     1 //快速排序
     2 #include <stdio.h>
     3 
     4 void quicksort(int a[], int left, int right);
     5 
     6 void main()
     7 {
     8     int a[10] = {99, 45, 12, 36, 69, 22, 62, 796, 4, 696};
     9     int i;
    10     printf("初始排序: 
    ");
    11     for(i = 0; i < 10; i++)
    12     {
    13         printf("    %d", a[i]);
    14     }
    15     quicksort(a, 0, 10);
    16     printf("
    快速排序后的结果:
    ");
    17     for(i=0; i<10; i++)
    18     {
    19         printf("    %d", a[i]);
    20     }
    21     printf("
    ");
    22 }
    23 
    24 void quicksort(int a[], int left, int right)
    25 {
    26     int j = left, k = right, temp, point;
    27 
    28     point = a[(left + right) / 2];
    29 
    30     while(j <= k)
    31     {
    32         while(a[j] < point)
    33         {
    34             j++;
    35         }
    36         while(a[k] > point)
    37         {
    38             k--;
    39         }
    40         if(j <= k)
    41         {
    42             temp = a[j];
    43             a[j] = a[k];
    44             a[k] = temp;
    45             j++;
    46             k--;
    47         }
    48     }
    49     if(left<k)
    50     {
    51         quicksort(a, left, k);
    52     }
    53     if(j<right)
    54     {
    55         quicksort(a, j, right);
    56     }
    57 }
  • 相关阅读:
    浏览器渲染流程
    MVC模式
    传统的DOM是如何进行渲染的
    报文的概念及理解
    单页面开发与多页面开发的优缺点
    第4次作业
    售票系统
    第三次作业
    第二次作业
    第一次作业
  • 原文地址:https://www.cnblogs.com/wangkeqi/p/9415346.html
Copyright © 2011-2022 走看看