//冒泡排序的优化 intarray10[] = {9,7,3,8,4}; BOOLflag1 =YES; for(inti =0; i array10[j +1]) { inttemp = array10[j]; array10[j] = array10[j +1]; array10[j ...
分类:
编程语言 时间:
2015-03-02 11:03:05
阅读次数:
203
为加深排序算法的理解,总结一下常见的排序算法。
排序算法的大致分类:(网上找的图)
具体的实现:
直接插入排序:
基本原理为将待排序的数组分为有序区域和无序区域,每次将无序区域的一个数值插入到有序区域并排好序。最终实现排序。
void InsertSort(int k[],int n)
{
int i, j, temp;
for(i = 1; i < n; i...
分类:
编程语言 时间:
2015-02-27 20:18:02
阅读次数:
220
八大排序算法实现
插入排序算法实现
希尔排序算法实现
选择排序算法实现
冒泡排序算法实现
归并排序算法实现
快速排序算法实现
堆排序算法实现
基数排序算法实现...
分类:
编程语言 时间:
2015-02-15 15:11:43
阅读次数:
154
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2015-02-14 18:48:09
阅读次数:
201
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2015-02-06 21:46:00
阅读次数:
195
基于比较的排序算法,应该是最符合人们直觉的方法。在各种算法的技术书上,已经证明了基于比较的排序算法的时间最优复杂度为O(nlogn)。下面是几种常见的基于比较的排序算法:1. 选择排序:这应该是最直观的排序方法。在排序n个元素时,第一次遍历,找到最小的元素,将其与第一个元素互换;第二次遍历,找到次小...
分类:
编程语言 时间:
2015-02-05 14:51:37
阅读次数:
173
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2015-01-31 19:21:49
阅读次数:
282
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2015-01-28 12:30:14
阅读次数:
191
1、插入排序思想:将无需组中的第一个数插入到有序数组中,这样经过N-1次插入即可完成排序。C++实现#include using namespace std;void Insert_Sort(int a[],int n);int main(void){ int a[] = {1,3,5,5,3...
分类:
编程语言 时间:
2015-01-20 17:07:13
阅读次数:
182
1.二分查找
代码:
int binarySearch(int arr[],int l,int r,int x)
{
while(l
{
int m = l + (r-1)/2;//为了防止(l+r溢出)
if(arr[m] == x)
return m;
if(arr[m]...
分类:
编程语言 时间:
2015-01-19 10:59:21
阅读次数:
275