摘要: 二叉树链表的结构声明: struct tree{ int data; struct tree *left; stryct tree *right;}; typedef struct tree treenode; typedef treenode *btree;二叉树链表结构表示法 阅读全文
posted @ 2010-11-21 21:05 聊聊IT那些事 阅读(920) 评论(0) 推荐(0) 编辑
摘要: 二叉树使用的结构声明: struct tree { int data; int left; int right;}; typedef struct tree treenode; treenode btree[N];用数组表示二叉树 阅读全文
posted @ 2010-11-21 20:33 聊聊IT那些事 阅读(2709) 评论(0) 推荐(0) 编辑
摘要: 循环链表可以用来使计算机处理内存工作区或输出至数据缓冲区。循环链表的插入和删除 阅读全文
posted @ 2010-11-20 11:23 聊聊IT那些事 阅读(2480) 评论(0) 推荐(0) 编辑
摘要: 数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速访问数据,很少或不插入和删除元素,就应该用数组。链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素... 阅读全文
posted @ 2010-11-20 10:23 聊聊IT那些事 阅读(43369) 评论(3) 推荐(7) 编辑
摘要: 链表结构反转的思想: 将一个链表分为3部分,head(头部分),mid(中间部分),last(最后部分); 反转前的顺序:head->mid->last;反转后的顺序:last->mid->head; 因此,将last向head方向移动,head向last方向移动,最终使mid成为head的前结点,last成为mid的前结点。 llink inverllist(llink ... 阅读全文
posted @ 2010-11-20 09:25 聊聊IT那些事 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 情况有三:情况1:删除链表的第一个结点 (1) 将指向链表开始的指针head指向第二个结点.(2) 此时原链表的第二个结点将成为新链表的开始,并且将新链表开始结点的指针back设为NULL.情况2:删除最后一个结点 将原链表的最后一个结点之前一个结点的指针from设为NULL.情况3:删除链表内中间结点(1) 将链表内指针ptr所指结点的前一个结点指针front指向指针ptr所指结点的下一个结点.... 阅读全文
posted @ 2010-11-19 16:49 聊聊IT那些事 阅读(3180) 评论(0) 推荐(0) 编辑
摘要: 步骤如下:情况1:删除链表内的第一个结点 只需将链表结构指针只需下一个结点。 情况2:删除链表内的最后一个结点 只要将指向最后一个结点的结构指针指向NULL。情况3:删除链表内的中间结点 只要将删除结点的结构指针,指向删除结点后的下一个结点。链表内结点删除 阅读全文
posted @ 2010-11-19 10:52 聊聊IT那些事 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 链表的链接和字符串的连接相似,将链表ptr1最后一个指针连接到链表ptr2开始的第一个结点上即可。链表的链接 阅读全文
posted @ 2010-11-19 09:30 聊聊IT那些事 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 链表的遍历 阅读全文
posted @ 2010-11-18 20:47 聊聊IT那些事 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 深度搜索广度搜索 阅读全文
posted @ 2010-11-17 21:18 聊聊IT那些事 阅读(2333) 评论(1) 推荐(2) 编辑