[算法回顾之插入排序]使用范围:小规模数据的排序的方案,而且是一种稳定的排序。 算法复杂度:O(n2) 思想: 首先我们来想一个问题,我们是否能找到一种方法,使一个数插入到一个有序的数组当中,并保证它依然有...+阅读
快速排序法”使用的是递归原理,下面我结合一个例子来说明“快速排序法”的原理。首先给出一个数组{53,12,98,63,18,72,80,46, 32,21},先找到第一个数--53,把它作为中间值,也就是说,要把53放在一个位置,使得它左边的值比它小,右边的值比它大。{21,12,32, 46,18,53,80,72,63,98},这样一个数组的排序就变成了两个小数组的排序--53左边的数组和53右边的数组,而这两个数组继续用同样的方式继续下去,一直到顺序完全正确。
一般来说,冒泡法是程序员最先接触的排序方法,它的优点是原理简单,编程实现容易,但它的缺点就是--程序的大忌--速度太慢。
附上快速排序代码:
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
#include
void quicksort(int a[],int left,int right)
{
int i,j,temp;
i=left;
j=right;
temp=a[left];
if(left>right)
return;
while(i!=j)
{
while(a[j]>=tempj>i)
j--;
if(j>i)
a[i++]=a[j];
while(a[i]<=tempj>i)
i++;
if(j>i)
a[j--]=a[i];
}
a[i]=temp;
quicksort(a,left,i-1);
quicksort(a,i+1,right);
}
void main()
{
int a[]={53,12,98,63,18,72,80,46,32,21};
int i;
quicksort(a,0,9);
/*排好序的结果*/
for(i=0;i<10;i++)
printf("%4d\n",a[i]);
}
以下为关联文档:
怎么可以快速学习VBS我看来VBS不难学。有了任何一门语言的基础,就可以快速上手VBS。 关键还是多学多练!加入我的Q群(28832462),和大家一起进步吧! Microsoft Visual Basic Scripting Edition 将灵活的...
问一个用JS对数组进行排序取值的问题菜鸟学习中var oldArr =[["A",2],["G",1],["J",9],["D",4]]; function getArr(arr){ arr.sort(function(arr1, arr2){//数组按第二个元素大小重新从大到小排序 return arr2[1] - arr1[1]; }) r...
在excel中输入如下图样式随意改变括号中的数值求值请高手指教假设ABC三个单元格分别在B1、B2、B3 在B4输入 =RIGHT(B1,LEN(B1)-FIND("=",B1))+RIGHT(B2,LEN(B2)-FIND("=",B2))+B3 回车。 33 分钟前Stcxj | 十七级 最快回答 补充: 你要这样,就...
雅思听力学习谁有高招请指教指教!提升雅思听力的三个关键词就是:跟读、听写、词汇。 跟读其实是一个很简单的过程,若仅仅是为了雅思考试,坚持跟读一个月就会有很好效果,但是这一个月一定要是连续的,每天至少跟读...
请大神指教!使用磁盘修复工具过程出现蓝屏怎么解决你好 . 这种情况,你的硬盘很有可能存在比较严重的问题了, 建议开机按DEL键(笔记本按F2键)进BIOS设置光盘或U盘引导电脑进WinPE(需要你有带WinPE的光盘或U盘启动盘,没有就买或自己...
安装eclipse lomboz出现的情况请各位大神指教啊可能原因: JDK或环境变量设置错误,JDK是32位,eclipse也必须是32位的,lomboz也必须是32位的jar,版本也需要匹配,不能用低版本的jdk跑高版本的jar。1.6版本下打的jar包不能再1.5版本...
关于CAD玻璃的渲染问题请指教1、先找到材质库,在渲染的工具栏上; 2、在当前库里找render文件,选择后就会在下面出现很多的材质。 3、找到blue glass材质(凡是有GLASS的都是玻璃的,不过BLUE的感觉最好),点它,再点...
请高人指教学习记忆宫殿的详细过程用记忆宫殿法的五个步骤: 1、选择你的宫殿首先和首要的,你需要选择一个你非常熟悉的地方。本技巧的有效性取决于你在脑海中轻易地再现这个地方并在其中漫步的能力。你必须仅仅...
用程序流程图表示快速排序和冒泡排序什么意思?怎么写啊冒泡排序思想 :每次前后两个比较,前面大就交换这两个,一直到最后这是一趟,需要n趟(小到大排序) 例如:4 2 7 1 8 对这几个数冒泡排序 2 4 7 1 8 第一趟第一次交换2 4 2 4 7 1 8 第一...