- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言常见4种排序
#if 0
/**********************************************************************
***** 1 选择排序
***** 每次在剩余元素中查找最大(小)一个,
***** 记录下表,在内层循环结束时进行互换
***********************************************************************/
/**** 2 冒泡排序
*****
*****
************************************************************************/
/***********************************************************************
***** 3 堆排序
*****
*****
************************************************************************/
/***********************************************************************
***** 4 快速排序
*****
*****
************************************************************************/
#include stdio.h
#include stdlib.h
int main(void)
{
void Sort1(int * a, int len);
void Sort2(int * a, int len);
void Sort3(int *a, int index);
void Sort4(int *a, int left, int right, int index);
int i;
int a[11] = {0,0,1,5,6,7,8,9,3,4,2};
Sort4(a , 1, 11-1, 10);
//Sort3(a, 10);
for(i = 1 ; i 11 ; i ++)
{
printf(%d , a[i]);
}
printf(\n);
return EXIT_SUCCESS;
}
/**************************************选择排序********************************************/
void Sort1(int * a, int len)
{
int i,j,k,t;
for(i = 0 ; i len ; i ++)
{
k = i ;
for(j = i + 1 ; j len ; j ++) //j = i + 1 易错
{
if(a[k] a[j])
k = j;
}
if(i != k)
{
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
/******************************冒泡排序*****************************************/
void Sort2(int * a, int len)
{
int i,j;
for(i = 0; i len -1; i ++) //注意-1
for(j = 0; j len -i-1; j++)
{
if(a[j+1] a[j])
{
a[j+1] = a[j+1] + a[j];
a[j] = a[j+1] - a[j];
a[j+1] = a[j+1] - a[j];
}
}
}
/*******************************堆排序**************************************************/
void CreateHeap(int *a, int root, int index) //堆排序数组之前要空一个元素
{
int i = 2*root, finish = 0, t = a[root];
while(i = index finish ==0)
{
if(i index)
{
if(a[i] a[i+1])
i ++;
}
i
文档评论(0)