几种常见的排序算法之比较
摘要:对常见的这几种排序算法的练习,对我们的思路的规范化是很好的。学习前人是如何优化算法节约时间和空间的。 我们所练习的排序主要是内部排序,所谓内部排序,就是整个排序过程都在内存进行的排序,称为内部排序;反之,若排序过程中要进行数据的内、外存交换,则称之为外部排序。内排序适用于记录个数不是很多的小文件,而外排序则适用于记录个数太多,不能一次性放人内存的大文件。 对排序算法的分析可以从以...
阅读全文
posted @
2009-03-20 14:12
Ruby_Wang
阅读(1415)
推荐(0)
字符串处理
摘要:在C语言中,有很多字符和字符串的处理。注意检查点 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->1char*strcpy(char*des,constchar*src) 2{ 3 4if(...
阅读全文
posted @
2009-03-17 18:58
Ruby_Wang
阅读(235)
推荐(0)
查找算法——二分法查找
摘要:二分法查找是在有序线性表查找指定的元素 int BinarySort(int n) { int low,high,mid; low = 0; high = length -1; while (low <= high) { mid = (low+high) / 2; if (n == m_num[mid]) return...
阅读全文
posted @
2009-03-16 17:03
Ruby_Wang
阅读(387)
推荐(0)
排序算法——归并排序
摘要:归并排序的思想很像是插入排序,只不过插入的元素是已经排序好了的数组。 void CMergeSort::Merge(double R[], double R1[], int low, int mid, int high) { int i=low,j=mid+1,k=low; while ((i<=mid) && (j<=high)) { if (R[i] <= ...
阅读全文
posted @
2009-03-16 16:20
Ruby_Wang
阅读(226)
推荐(0)
排序算法——选择排序
摘要:排序算法中有直接选择排序和堆排序。 (1)直接选择排序。是一种基于位置的排序,它第一趟选出最小的放在第一位,然后选出次小的放在第二位,然后依次类推。。。 for (int i=0;i=0;i--) { HeapSift(i,lenth); } for (int j =lenth-1;j>=0;j--) { temp = m_nu...
阅读全文
posted @
2009-03-15 21:48
Ruby_Wang
阅读(301)
推荐(0)
排序算法——交换排序
摘要:交换排序中主要有:冒泡排序和快速排序 (1)冒泡排序比较简单每次每次两两比较,权值小的就向上升。这样一趟下来,就会得到最小的,依次循环后就会得到有序数列。 for(int i=0;i0;j--) { if(m_num[j] =n 而没有写head=n) && (head<rear))//head<rear { rear--; ...
阅读全文
posted @
2009-03-15 20:04
Ruby_Wang
阅读(301)
推荐(0)
排序算法——插入排序
摘要:插入排序中最常见的是直接插入排序和希尔排序。 (1)直接插入排序其基本思想是:一个有序区和一个无序区,每次扫描扩大有序区,将无序区的数据不断的加入到有序区中。 例如:49、38、65、97、76、13、27、49' 第一趟排序:[13]、49、38、65、97、76、27、49' 第二趟排序:[13、27]、49、38、65、97、76、49' ...
阅读全文
posted @
2009-03-15 15:15
Ruby_Wang
阅读(262)
推荐(0)