快速排序的算法代码(简单排序代码)
admin
2023-01-23 20:18:00
0

1.一般来说,最快的排序算法是()A:归并排序B:快速排序C:插入排

B:快速排序 现在开始,我们要接触高效排序算法了.实践证明,快速排序是所有排序算法中最高效的一种.它采用了分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了.这是一种先进的思想,也是它高效的原因.各个算法时间复杂度比较: 平均时间复杂度 插入排序 O(n2) 冒泡排序 O(n2) 选择排序 O(n2) 快速排序 O(n log n) 堆排序 O(n log n) 归并排序 O(n log n) 基数排序 O(n) 希尔排序 O(n1.25)。

2.C语言快速排序的代码

首先我赞成你直接要代码的这种方法。

从你这个提问可以看出你对常用的排序算法都接触过,并且都没搞懂到底是怎么回事。

现在的电子平台资源都很丰富了,硬件平台的运行速度可以做到很高了,在大多数的情况下可以考虑用空间换时间的方法,也就是说你应该先搞懂算法的本质,然后再自己去实现它,开始的时候可以不考虑时间上的损耗。

排序的本质就是两个数比较大小,并根据其大小将其放到相应的位置。

记住其本质是什么,你自己绝对可以使用相应的语言实现它。

3.谁能给份快速排序的代码

public class QuickSort

{

public static void main(String[] args)

{

int []array={3,1,2};

quickSort(array,0,2);

for(int i:array)

System.out.println(i);

}

public static void quickSort(int[] arr, int l, int r) // 分划交换排序,快速排序

{

if (l >= r) // 递归出口

return;

int i, j, k;

int t;

k = arr[l];

i = l;

j = r + 1;

while (i {

do

{

i++;

}

while (ido

{

j--;

}

while (j>=0 && arr[j] >k);

if (i {

t = arr[i];

arr[i] = arr[j];

arr[j] = t;

}

}

t = arr[l]; // 最左边的关键词放到它最终的位置

arr[l] = arr[j];

arr[j] = t;

quickSort(arr, l, j - 1); // 递归排序左边和右边

quickSort(arr, j + 1, r);

}

}

4.求快速排序算法的代码

BOOL QuickSort(U16*p,int num)

{

int i;

int n_small=1,n_big=num-1;//升序

U16 m_key=p[0];

BOOL xiaokong=true;//小头有空

int m_free = 0;

if(num<=1)return true;///递归终止条件

for(i=0;i

{

if(xiaokong)//小头有空

{

if(p[n_big]

{

p[m_free]=p[n_big];

m_free=n_big;

xiaokong=false;

}

n_big--;

}

else//大头有空

{

if(p[n_small]>m_key)

{

p[m_free]=p[n_small];

m_free=n_small;

xiaokong=true;

}

n_small++;

}

}

if(m_free != 0)

{

p[m_free]=m_key;

}

//printf("num=%d[", num);

//for( i = 0; i< num; i++) printf("%d,", p[i]);

//printf("]key=%d, mid = %d, small=%d, big=%d, from %d num %d && from %d num %d\n",

// m_key, m_free, n_small, n_big, 0,m_free, m_free+1, num-(m_free+1) );

if(QuickSort(&p[0],m_free) && QuickSort(&p[m_free+1],num-(m_free+1) ) )

{

return true;

}

return false;

}

void QuickSortTest(void)

{

int i;

U16 sortTest[20] = {23,4,6,9,5,7,4,12,12,23,4,9999,89,1000,1000,4,2334,989,12,20};

U16 sortTest2[10] = {10,9,8,7,6,5,4,3,2,1};

U16 sortTest3[10] = {0,1,2,3,4,5,6,7,8,9};

for( i = 0; i<20; i++) printf("%d,",sortTest[i]); printf("\n");

QuickSort( sortTest, 20);

for( i = 0; i<20; i++) printf("%d,",sortTest[i]); printf("\n");

for( i = 0; i<10; i++) printf("%d,",sortTest2[i]); printf("\n");

QuickSort( sortTest2, 10);

for( i = 0; i<10; i++) printf("%d,",sortTest2[i]); printf("\n");

for( i = 0; i<10; i++) printf("%d,",sortTest3[i]); printf("\n");

QuickSort( sortTest3, 10);

for( i = 0; i<10; i++) printf("%d,",sortTest3[i]); printf("\n");

}


相关内容

热门资讯

天刀手游话本龙首山成就 天刀手游话本龙首山成就龙首山副本中有4个特殊的成就任务,每个成就任务完成的方式不同,通过完成指定要求...
斑爷好抗跌!实力好强大!带图也... 斑爷好抗跌!实力好强大!带图也变得太像六道仙人了!斑爷能对抗得了吗?带图能力很奇怪!尤其是那个黑球斑...
校园里有这么一个有趣的地方作文... 校园里有这么一个有趣的地方作文五百字智就事论事恢w
名人的烦恼故事,他是如何解决的... 名人的烦恼故事,他是如何解决的?以最好的心态,去解决烦恼的事
作文 《主动》 作文 《主动》结合生活体验 不少于八百字兵法云:能战则战,不能战则守,不能守则走。无论战或守,都应由...
暗黑2 火焰之河 暗黑2 火焰之河没有通,还要进混沌避难所杀大菠萝[非资料片在这里就算通关],资料片还要去第5幕,杀巴...
叛逆的鲁鲁修还会出第三季么? 叛逆的鲁鲁修还会出第三季么?鲁鲁修木有死呢,据官方情报r2最后的那个车夫就是鲁鲁修,之后还有很长的故...
今夜我无法入睡原唱 今夜我无法入睡原唱 今夜我无法入睡原唱是倪红,这首歌的歌词如下:又喝一杯最烈的酒,让我忘掉所有忧愁。...
魔兽世界趣事儿! 魔兽世界趣事儿!比如说有意思的任务~最好能给东西的。各种各样的。就是你认为比较有意思的,不那么枯燥的...
有金字的成语大全 有金字的成语大全 有金字的成语大全 :金碧辉煌、固若金汤、金口玉言、金榜题名、金瓯无早漏缺、披沙...
小孩吃的米粑怎么做 小孩吃的米粑怎么做 用料大米磨成的米粉 500g瘦猪肉 400g豆角 400g干黄花菜 100g...
天高气爽的意思是什么 天高气爽的意思是什么意思:形容秋天天空高远明朗、气候凉爽宜人。读音:tiān gāo qì shuǎ...
美元兑日元下跌1.01%,报1... 04月09日消息,美元兑日元盘中快速下跌,跌幅1.01%,截止03:10,报146.211。
鹰眼预警:香农芯创营业收入与净... Hehson财经上市公司研究院|财报鹰眼预警4月8日,香农芯创发布2024年年度报告,审计意见为标准...
魔兽世界中暗夜精灵的种族技能影... 魔兽世界中暗夜精灵的种族技能影遁在pvp中有什么用用处大了,用了以后可以脱战,我是DZ,我把影遁和潜...
在爱情中屡受挫折,导致没有信心... 在爱情中屡受挫折,导致没有信心和勇气去追求真爱,该如何走出去?是应该在爱情当中让自己拥有一定的自信心...
听说深圳仁树医疗眼耳鼻喉科很厉... 听说深圳仁树医疗眼耳鼻喉科很厉害,都有哪些名医和专家?确实很厉害,医疗团队都是在国内三甲医院有十年以...
夜奶是迷糊奶吗 夜奶是迷糊奶吗奶是不分迷糊奶的,都是一样的。
女孩子萱字搭配什么字好? 女孩子萱字搭配什么字好?女孩子的名字里有萱字,想要问问搭配什么字比较好,我觉得叫宣静比较好听,因为这...
谁有美文美句? 谢谢了! 谁有美文美句? 谢谢了!醉过才知酒浓 爱过方知情重就一句 :风吹落了黄叶,秋已然告别,冬无声的来临,...