
C++数据结构
lgl125
这个作者很懒,什么都没留下…
展开
-
求单链表长度(模板)
<br />template<class T><br />int List<T>::Length()const{<br /> LinkNode<T> *current = first->link;<br /> int k=0;<br /> while(current->link!=NULL) //扫描链表到尾部<br />{<br /> current = current->link;<br /> k++;<br />}<br /> return k;<br />}<br />原创 2011-05-19 22:33:00 · 878 阅读 · 0 评论 -
搜索第i个元素的地址
<br />第一种<br />template<class T><br />LinkNode<T> *List<T>::Locate(int i){<br /> if(i<0)return NULL;<br /> <br /> LinkNode<T> *current = first;<br /> for(int j=0;j<i;j++)<br />{<br /> current = current->link;<br /> if(current==NULL){return NULL;}<br />}<原创 2011-05-19 22:42:00 · 730 阅读 · 0 评论 -
从链表中插入元素
<br />template<class T><br />bool List<T>::Insert(int i,T&x){<br /> LinkNode<T> *current= Locate(i); //locate()函数是定位函数 上一篇写了<br /> if(current ==NULL) return false;<br /> LinkNode<T> *newNode = new LinkNode<T>(x);<br /> if(newNode==NULL) <br />{<br />cou原创 2011-05-19 22:49:00 · 830 阅读 · 0 评论 -
链表的逆置(用到递归和非递归)
<br />#include<iostream><br />using namespace std;<br />class ListNode{<br />private:<br /> int data;<br /> ListNode *link;<br />public:<br /> ListNode(int newdata)<br /> {<br /> data=newdata;<br /> link=NULL;<br /> }<br /> int getData()<br /> {<br /> r原创 2011-04-28 00:21:00 · 1237 阅读 · 0 评论 -
线索二叉树
<br />#include <stdio.h> <br />#include <stdlib.h> <br />#define QUEUE_MAXSIZE 50<br />typedef char DATA; //定义元素类型 <br />typedef enum <br />{<br /> SubTree,<br /> Thread<br />}NodeFlag; //枚举值SubTree(子树)和Thread(线索)分别为0,1<br />typedef struct Thr原创 2011-04-29 16:52:00 · 631 阅读 · 0 评论 -
Prim算法
已经在VC下运行了 可以使用 #include#include#define INF 3276void main(){ //void Prim(int cost[7][7],int n,int v); int n=7; int lowcost[7]={0}; int closest[7]={0}; int i,j,k,min,v; int cost[7][7]={ {0,50,60原创 2011-06-25 00:06:00 · 507 阅读 · 0 评论 -
Kruskal算法
#includetypedef struct{ int u; int v; int w;}Edge;void Kruskal(Edge E[],int n,int e){ int i,j,m1,m2,sn1,sn2,k; int vest[10]; for(i=0;i vest[i]=i; k=1; j=0; while(k m1=E[j].u; m2=E[j].v; sn1=vest[m原创 2011-06-25 00:08:00 · 534 阅读 · 0 评论