算法是程序的灵魂,而排序算法则是一种最基本的算法。排序算法有许多种,本文介绍4中排序算法:冒泡排序,选择排序,快速排序和插入排序,以从小到大为例。...
分类:
编程语言 时间:
2015-01-03 11:58:19
阅读次数:
183
dseg segment source_data dw ?,-1,3,6,1,5 count equ $-source_datadseg endscseg segment assume cs:cseg , ds:dsegstart: ...
分类:
编程语言 时间:
2015-01-01 14:49:05
阅读次数:
204
Swap的简单实现//C语言方式(by-pointer):
template
bool swapByPointer(Type *pointer1, Type *pointer2)
{
//确保两个指针不会指向同一个对象
if (pointer1 == NULL || pointer2 == NULL)
{
return false;
}...
分类:
其他好文 时间:
2015-01-01 11:19:13
阅读次数:
195
【算法】 简单选择排序 /// /// 简单选择排序 /// 思路 (与冒泡排序类似): /// 遍历源集合,每次选出最大或最小元素,放在未排序子集末尾或首位 /// /// /// ...
分类:
编程语言 时间:
2014-12-25 12:42:15
阅读次数:
109
选择排序的基本思想是:每一趟从n-i+1 (i=1,2,…,n)个元素中选取一个关键字最小的元素作为有序序列中第i个元素。本节在介绍简单选择排序的基础上,给出了对其进行改进的算法堆排序。1.简单选择排序 a:算法描述 简单选择排序的基本思想非常简单,即:第一趟,从n个元素中找出关键字最小...
分类:
编程语言 时间:
2014-12-23 21:04:58
阅读次数:
205
核心思想:第i趟排序是从序列的后n-i+1个元素中选择值最小的元素与这n-i+1个元素的最前端进行交换,既与这个序列的第i个位置上的元素进行交换位置。var arr = [38,49,65,97,76,13,27,49];var selectSort = function(arr){ var i,....
分类:
编程语言 时间:
2014-12-23 12:15:30
阅读次数:
180
排序使我们实际开发中最常使用到的几个算法之一,按照如果按照排序过程中依据的原则对内部排序进行分类,则大致上可以分为插入排序、交换排序、选择排序、归并排序等排序方法。让我们首先看看插入排序的算法有哪些,以及他们的具体实现。插入排序的基本排序思想是:逐个考察每个待排序元素,将每一个新元素插入到前面已.....
分类:
编程语言 时间:
2014-12-23 11:51:49
阅读次数:
251
堆排序是对简单选择排序算法的一种改进,在每次选择最小记录的同时,根据比较结果对其他记录做出相应的调整。堆是具有下列性质的完全二叉树:每个节点的值都大于(小于)或者等于其左右孩子节点的值,为大顶堆(小于)。堆排序的基本思想是:从最后一个含有叶子节点的节点开始将待排序列构造成一个堆,然后将堆顶元素与末尾...
分类:
编程语言 时间:
2014-12-23 10:10:55
阅读次数:
182
今早心血来潮,又想看看冒泡排序...
于是乎度娘一番,找到了度娘给我的这篇文章,前面的文字描述还是简单易懂的,可惜给出的代码示范有些文不对题.
于是乎又wiki一番..发现上文给出的代码形似选择排序,于是总结如下:
我们假设有一个数组: 624159
对应的索引也就是:0-->5,如果我想描述第二个位置,也就是数字2的位置,我就用index[1]来描述.
冒泡排序的对比方法是:先...
分类:
编程语言 时间:
2014-12-22 11:16:17
阅读次数:
174