[数据结构] 快速排序+折半搜索

Posted nagishiro

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[数据结构] 快速排序+折半搜索相关的知识,希望对你有一定的参考价值。

 1 数据结构的练习与巩固
 2 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 3 //折半搜索
 4 int Quick_Search(int List[], int Length, int Number)
 5 {
 6     int Low, High, Middle;
 7     Low = 0;
 8     High = Length-1;
 9     
10     while (High >= Low)
11     {
12         Middle = (Low + High) / 2;
13         if (List[Middle] == Number)
14             return Middle;
15         if (List[Middle] < Number)
16             Low = Middle + 1;
17         if (List[Middle] > Number)
18             High = Middle - 1;
19     }
20     return -1;
21 }
22 
23 //快速排序
24 void Quick_Sort(int List[], int Low, int High)
25 {
26     int i, j;
27     i = Low;
28     j = High;
29     int Key = List[Low];
30 
31     if(Low < High)
32     {
33         while (j > i)
34         {
35             while (List[j] >= Key && j > i)
36                 j--;
37             if (j > i)
38                 List[i++] = List[j];
39 
40             while (List[i] < Key && j > i)
41                 i++;
42             if (j > i)
43                 List[j--] = List[i];
44         }
45         List[i] = Key;
46 
47         Quick_Sort(List, Low, i - 1);
48         Quick_Sort(List, i + 1, High);
49     } 
50 }

 

以上是关于[数据结构] 快速排序+折半搜索的主要内容,如果未能解决你的问题,请参考以下文章

插入排序——2折半插入排序实现

java 排序算法 折半 堆 希尔 快速 整理

求中位数,O(n)的java实现利用快速排序折半查找中位数

折半查找_快速排序

HDOJ水题集合11:桶排序, 折半搜索

排序相关代码(数据结构笔试复测Leecode牛客)