数据结构之树的操作
摘要:数据结构中树的操作,很多时候我们不会自己写些底层的树算法,有很多的函数库已经实现了相关的算法并且性能较好,但是理解树的含义也尤为重要,下面是二叉树的四种遍历算法和相关的一些算法,本文给出都是非递归算法。 1.前序遍历(根左右)voidPreOrderN(BTreeNode*BT){constintMS=10;BTreeNode*s[MS];//用数组来模拟栈inttop=-1;BTreeNode*p=BT;while(top!=-1||p!=NULL)//栈为空或节点为空{while(p!=NULL){countdataright!=NULL){top++;s[top]=p->right
阅读全文
posted @
2013-03-25 23:38
糊涂先生
阅读(380)
推荐(0)
数据结构之链表操作
摘要:面试中单链表的相关操作也是常考的内容,本博文也是之前学习时的笔记,在此记录下来,以便日后用到,同时欢迎批评指正。 一、基本操作 单链表的基本操作包括链表的创建、销毁、判空、索引、插入、删除等,下面是在链表的相关操作程序,链表的定义如下: typedef struct LNode{ int data; struct LNode *next; }LNode,*LinkList; 此链表是带有头结点的,因此空链表的形式是 head->next=NULL. 1. 链表的初始化LinkListInitList(void) {LinkListhead=NULL;he...
阅读全文
posted @
2013-03-20 00:38
糊涂先生
阅读(326)
推荐(0)
数据结构之排序查找算法
摘要:前段时间找实习的时候,为了学习算法和数据结构,自己总结和其他渠道得来了一些基本的排序和查找算法,使用C++的模板实现,在此不进行复杂度分析只作为日后使用作参考,直接上代码。 一、排序 1.直接插入templatevoidInsertionSort(TypeArray[],intlength){intindex,j;Typetemp;for(index=1;index0&&tempvoidSelectionSort(TypeArray[],intlength){intindex,j;intsmallIndex;Typetemp;for(index=0;indexvoidBubbl
阅读全文
posted @
2013-03-17 17:33
糊涂先生
阅读(349)
推荐(0)