- 博客(3)
- 收藏
- 关注
原创 排序之基于单链表插入排序
插入排序的具体方法在上文已经介绍过,此文不再赘述。 对于数组,可以使用索引来轻易操作上下元素,但是单链表则只能通过指向下一节点的元素来操作。 因此,需要两个指针firstOutOfOrderPointer(指向第一个无序元素的节点)和lastInOrderPointer(指向最后一个有序元素的节点)。 首先,比较firstOutOfOrderPointer->data和第一个节点的data。
2016-05-22 22:47:18 547
原创 排序之基于数组插入排序
有n个元素,其中前m个已经有序,后n-m个是无序状态,使用选择排序毫无意义,于是使用一种新的方法插入排序。 设有一个数组List如下: List={10,18,25,30,23,17,45,35}; List[4]应该插入List[1]和List[2]之间,先把List[4]->temp,List[2]和List[3]后移,再temp->List[2]。 我们在排序过程中,把整个数组分
2016-05-21 23:24:36 237
原创 排序之选择排序
对n个元素排序,第一次找出n个中最小值排在第一个,第二次找出(n-1)个中最小值排在第二个,如此循环。 第一次比较n-1次,第二次比较n-2次。。。所以是O(n^2)void selectionSort() { int minIndex,nowIndex; for(minIndex=0;minIndex<numberOfItems;minIndex++) {
2016-05-21 23:02:44 195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人