代码改变世界

如何实现单链表的反转

2015-07-14 22:06 by kaining, 560 阅读, 0 推荐, 收藏,
摘要:原理:反转一个链表,需要调整指针的方向,而与指针操作相关代码总是容易出错的。例如: 1、m、n是3个相邻的结点,假设经过若干步操作,已经把结点i之前的指针调整完毕,这些节点的m_pNext指针都是指向前面一个结点。现在遍历到结点m,当然需要调整结点的m_pNext指针,让它指向结点1,但是注意的是,... 阅读全文

快速排序法

2015-07-08 22:11 by kaining, 178 阅读, 0 推荐, 收藏,
摘要:快速排序法是一种非常高效的排序算法,它采用“分而治之”的思想,把大的拆成小的,小的才拆分成更小的。基本原理: 1.给定N个数字。通过一趟排序后将原序分为两个部分,其中前半部分的数字比后半部分的数字小。 2.然后再依次对前后两部分的记录进行快速排序。 3.不断递归排序,直到所有的数字... 阅读全文

冒泡法--分析

2015-07-08 21:08 by kaining, 628 阅读, 0 推荐, 收藏,
摘要:冒泡法的基本原理: 1.给定n个数,从第一数字开始依次对相邻的两个数进行比较,当前面的数字大于后面的数字时,就交换位置。 2.经过一轮比较后,最大的数字将位于数组的最右边,即第n位。 3.然后对n-1位数字进行第二轮比较,直到剩下一个数字为止。分析: 1.从看到n个数,就知... 阅读全文