gpt4 book ai didi

C语言数据结构 快速排序实例详解

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C语言数据结构 快速排序实例详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

C语言数据结构 快速排序实例详解 。

1、快速排序简介 。

快速排序采用分治的思想,第一趟先将一串数字分为两部分,第一部分的数值都比第二部分要小,然后按照这种方法,依次对两边的数据进行排序.

2、代码实现 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <stdio.h>
 
 
/* 将两个数据交换 */
void swap(int* Ina , int* Inb)
{
   int temp = *Ina;
   *Ina = *Inb;
   *Inb = temp;
}
 
/* 进行一趟的快速排序,把一个序列分为两个部分 */
int getPartion(int* InArry,int InBegin,int InEnd)
{
   /* 刚开始的分隔线是第一个 */
   int part = InBegin;
   int index = 0;
 
   if(InEnd >= InBegin)
   {
     part = InBegin;
     for(index = InBegin+1; index <= InEnd; index++)
     {
       if(InArry[InBegin] >= InArry[index])
       {
         /* 交换位置 */
         swap(&InArry[part+1],&InArry[index]);
         part++;
       }
     }
 
     /* 把第一个数放到part处去 */
     swap(&InArry[InBegin],&InArry[part]);
 
     return part;
   }
 
}
 
/* 快速排序函数
* InArry:输入的数组
* InBegin:数组的开始
*  InEnd:数组的结束
*/
void quickSort(int* InArry,int InBegin,int InEnd)
{
   if(InArry == NULL || InEnd <= InBegin)
   {
     return;
   }
 
   int part = 0;
   part = getPartion(InArry,InBegin,InEnd);
 
   /* 递归调用 */
   quickSort(InArry,0,part-1);
   quickSort(InArry,part+1,InEnd);
}
 
int main()
{
   int a[] = {49,38,65,97,76,13,27};
   int index = 0;
 
   int len = sizeof(a)/sizeof(int);
 
   /* 先遍历打印一下数组的元素 */
   for(index = 0; index < len; index++)
   {
     printf("%d ",a[index]);
   }
   printf("\n");
 
   /* 调用快速排序函数 */
   quickSort(a,0,len-1);
 
   /* 再遍历打印一下数组的元素 */
   for (index = 0 ; index < len; index++)
   {
     printf( "%d " ,a[index]);
   }
   printf( "\n" );
 
 
 
   return 0 ;
}

以上就是使用C语言数据结构 快速排序的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站 的支持! 。

原文链接:http://blog.csdn.net/u010889616/article/details/47780523?locationNum=3 。

最后此篇关于C语言数据结构 快速排序实例详解的文章就讲到这里了,如果你想了解更多关于C语言数据结构 快速排序实例详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com