数据结构
Monday2204
半路出家的程序员爱我所选踏踏实实的走下去让那些曾经笑话你的人后悔他们曾经不经意伤人的言语厚积薄发
展开
-
直接插入排序,选择排序,冒泡排序
2-3 直接插入排序 最为简单的排序方法,第i次排序将第i+1个元素插入到已经排序号的i个元素中 注释:对于简单插入排序,放远点看,就是对已排好序的进行再插入,所以无论是从小到大,还是从大到小,都是两层循环,默认第一个数是已排序。把要插入的值保存,然后与已排序的部分进行比较,后移操作,跳出循环时,插入值。 例 #include usi原创 2013-06-19 11:09:15 · 645 阅读 · 0 评论 -
顺序查找,二分查找
2-1 顺序查找 顺序查找的方法的优点是在于简单直观,对于被查找的记录在文件中的排列顺序没有限制,因此比较适合顺序文件的查找。同时这种查找思想也适合于对顺序表数据结构和链表数据结构中的元素进行查找。它的缺点在于平均查找长度过大,查找效率较低。 例: #include using namespace std; typedef struct student{ int原创 2013-06-19 10:56:37 · 649 阅读 · 0 评论 -
希尔排序
2-6 希尔排序 希尔排序,是对插入排序的一种改进,也叫缩小增量排序。外层循环是增量的缩小,内层循环即每一列可采用直接插入排序的方法,排序(其他也可)。 void shellsort(int array[],int len) { int i, index, key,temp;; for(int step = len / 2; step > 0; st原创 2013-06-20 14:46:28 · 439 阅读 · 0 评论 -
快速排序
2-6 快速排序 快速排序是冒泡排序的改进版。 在同为O(N*logN)的几种排序方法中效率较高,也被认为是目前为止最好的排序法。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直到各区间只有一个数。 借用MoreWindows的一句话: 虽原创 2013-06-20 16:15:16 · 466 阅读 · 0 评论