![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
文章平均质量分 75
tangbo1987
这个作者很懒,什么都没留下…
展开
-
链表指针容易犯的错误
往链表中插入一项时,如果指针使用不慎,容易造成错误。下面先看一段正确的代码:代码的功能是:往一个空链表中插入三项,每一项的元素分别是0,1,2。#include #include typedef struct _Node{ int elem; struct _Node *next;}Node;int main(){ Node *list = NULL; Node *tail = NULL; for (int i=0; i { Node *p = (Node原创 2011-05-24 19:57:00 · 1160 阅读 · 0 评论 -
堆栈问题分析
堆栈问题一前提知识关于“局部变量、全局变量、堆、堆栈、静态和全局”的知识,详见:http://blog.csdn.net/jamestaosh/archive/2009/09/02/4513188.aspx或者http://baike.baidu.com/view/93201.htm其中引用一段描述如下:· 栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。· 堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收原创 2011-05-27 11:16:00 · 1121 阅读 · 2 评论 -
堆排序
堆排序的主要步骤包括: 1、对要排序的数组建堆,此时堆顶(也就是数组第一个元素)要么最大,要么最小; 2、交换数组第一个和最后一个元素; 3、数组长度减1; 4、保持最大堆或最小堆的特性; 5、重复2、3、4,直至数组长度为1,结束。 代码如下: #incl原创 2011-09-10 16:55:26 · 343 阅读 · 0 评论 -
快速排序
快速排序思路如下: 任选数组中一个元素作为关键字,,一趟partition下来的结果保证该关键字大于其左侧的元素,小于其右侧的元素;然后对其左侧和右侧的元素做partition操作;这么递归下去即可排序。 代码如下: #include using namespace std; // 对A[low]...A[high]进行分区 int partition(int原创 2011-09-10 18:27:37 · 349 阅读 · 0 评论