快速排序的算法代码(简单排序代码)
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");

}


相关内容

热门资讯

莫伤天下,是什么意思? 莫伤天下,是什么意思?喜欢不喜欢不好界定,但是这个男人的情商不怎么样但是真的,女人说秋天的第一杯奶茶...
广告的好处与坏处 广告的好处与坏处急!!!!!!!!!!!马上要,短一点!现代广告的功能是多元化的,主要的功能有:信息...
映月读书 的典故? 映月读书 的典故?映月读书 【拼音】: yìng yuè dú shū【解释】: 利用月光来照明读书...
求分享《你和我的警察课堂》 求分享《你和我的警察课堂》《你和我的警察课堂》又奶又欲➕ 又甜又热血警校青春都超好磕简介:讲述了充满...
创新创业经费预算(创业启动资金... 启动资金用于支付场地(土地和建筑物)、办公家具和设备、机械、原材料和商品库存、营业执照和许可证、开业...
大学生创业数据分析,2020年... 本报讯(中国青年报、中国青年网见习记者金卓)为贯彻落实党中央、国务院“大众创业创新”战略规划,深入了...
2020创业项目小生意(201... 都说大城市竞争太大,生活成本很高。越来越多的人喜欢在小城市创业,因为他们喜欢那里的快速生活。在小城市...
讲述爱情故事的动画片,有什么 讲述爱情故事的动画片,有什么樱花庄的宠物女孩。四月是你的谎言,来自风平浪静的明天,未闻花名,我的青春...
创业规划步骤流程图(创业的流程... 想了很久,整理了很多资料,给那些有梦想,准备创业的年轻人一些想法。然后,因为我在杭州,所以所有的插画...
创业板指数基金哪个好(创业板e... 有读者关心,想投创业板指数基金。有什么可以推荐的?目前有29只公募基金以创业板相关指数作为投资标的。...