游客已登陆 (0)未知
笔行证 257310
昵称 kuan 
笔贝 Score1
加为好友 发送短信
<< << 2008 十月 >> >>
1234
567891011
12131415161718
19202122232425
262728293031

访问计数:21273

本地音乐播放器



 
       栈顺序存储结构
2007-04-12 星期四 晴



struct Stack
{
ElemType stack[StacckMaxSize];
int top;
};


void InitStack(Stack &S)
{
S.top = -1;
}

void ClearStack(Stack &S)
{
S.top = -1;
}

void StackEmpty(Stack &S)
{
....
# posted by kuan @ 2007-04-12 13:10:13 评论(0)
 


 
       栈链接存储结构
2007-04-12 星期四 晴



void InitStack(LNode *&HS)
{
HS = NULL;
}

void ClearStack(Lnode *& HS)
{
LNode *cp, *np;

cp=HS;//cp指向栈顶
while(cp != NULL)
{
np = cp->next;
delete cp;
cp=np;
}
HS....
# posted by kuan @ 2007-04-12 13:09:45 评论(0)
 


 
       数据结构:)
2007-04-12 星期四 晴



下面是数据结构的一部分代码.有时不记得了,可以查一下.不过对于初学者一定要自己打进去.自己打进去对初学者绝对是有帮助的.

数据结构真正掌握的时候,根本就不用来这里查代码了.因为真正掌握了.就不会被代码所....
# posted by kuan @ 2007-04-12 13:06:11 评论(0)
 


 
       稀疏矩阵顺序存储
2007-04-12 星期四 晴



struct Triple
{
int row,col;
ElemType val;
};

struct SMatrix
{
int m,n,t;
Triple sm[MaxTerms+1];
};

void InitMatrix(SMatrix & M)//初始化
{
M.m=0;
M.n=0;
M.t=0;
}

void ....
# posted by kuan @ 2007-04-12 12:58:19 评论(0)
 


 
       稀疏矩阵十字链接存储
2007-04-12 星期四 晴



struct CrossNode
{
int row, col;
ElemType val;
CrossNode *right, *down;
};

struct CLMatrix
{
int m,n,t;
CrossNode *rv[MaxRows+1];
CrossNode *cv[MaxColumns+1];
};



void Ini....
# posted by kuan @ 2007-04-12 12:57:47 评论(0)
 


 
       稀疏矩阵带行指针向量链接存储
2007-04-12 星期四 晴



struct TripleNode
{
int row, col;
ElemType val;
TripleNode *next;
};

struct LMatrix
{
int m,n,t;
TripleNode *Vector[MaxRows+1];//m个行单链表的表头指针,期中第0个分量未用
};

voi....
# posted by kuan @ 2007-04-12 12:57:21 评论(0)
 


 
       线索二叉树
2007-04-12 星期四 晴



struct TTreeNode
{
ElemType data;
int ltag,rtah;//线索标志域
TTreeNode *left;
TTreeNode *right;
};

void InThread(TTreeNode *HT)
{
static TTreeNode *pre = NULL;//定义指向前驱结点的指....
# posted by kuan @ 2007-04-12 12:56:43 评论(0)
 


 
       三叉树树
2007-04-12 星期四 晴



void CreatGTree(GTreeNode *& GT, char *a)//根据字符串a所给出的三叉树建立对就的存储结构
{
GTreeNode *s[10];
int k[10];
int top=-1;
GT=NULL;
GTreeNode *p;
istrstream ins(a);
char ch;
....
# posted by kuan @ 2007-04-12 12:56:07 评论(0)
 


 
       二叉树排序树
2007-04-12 星期四 晴



int Find(BTreeNdoe *BST, ElemType &item)//从二叉树中查找关键字等于给定值item的元素 时间O(log2n) ~ O(n) 空间O(log2n)
{
if(BST == NULL)
{
return 0;//查找 失败返回0
}
else
{
if(it....
# posted by kuan @ 2007-04-12 12:55:39 评论(0)
 


 
       二叉树
2007-04-12 星期四 晴



struct BTreeNode //独立结点
{
ElemType data;
BTreeNode *left;
BTreeNode *right;
};

struct ABTreeNode //元素结点
{
ElemType data;
int left,right;
};
typedef ABTre....
# posted by kuan @ 2007-04-12 12:55:11 评论(0)
 


 
       前缀表达式转后缀表达式
2007-04-12 星期四 晴



int Precedence(char op)
{
switch(op)
{
case'+':
case'-':
return 1;
case'*':
case'/':
return 2;
case'(':
case'@':
default:
return 0;
}
}

void Change(char *s1, char....
# posted by kuan @ 2007-04-12 12:54:26 评论(0)
 


 
       直接选择排序
2007-04-12 星期四 晴



#include<iostream.h>

void SelectSort(float array[], int n)//时间O(n^2)  空间O(1)
{
int i,j,k;
for(i=0; i<n-1; i++)
{
k=i;//保存最小值的下标
for(j=i+1; j<n; j++)
{
if(array....
# posted by kuan @ 2007-04-12 12:53:46 评论(0)
 


 
       直接插入排序
2007-04-12 星期四 晴



#include<iostream.h>

void InsertSort(float array[], int n)//稳定 时间O(n^2)
{
int i,j;
float temp;
for(i=1; i<n; i++)
{
temp=array;//备份
for(j=i-1; j>=0; j--)//在排好序的数组....
# posted by kuan @ 2007-04-12 12:53:15 评论(0)
 


 
       希尔排序
2007-04-12 星期四 晴



#include<iostream.h>

void ShellSort(float array[], int n)//时间O(n^1.5)
{
int i,j,d;
float temp;

for(d=n/2; d>=1; d/=2)
{
for(i=d; i<n; i++) //把直接排序的某些1换成d
{
t....
# posted by kuan @ 2007-04-12 12:52:42 评论(0)
 


 
       快速排序
2007-04-12 星期四 晴



#include<iostream.h>

void QuickSort(float array[], int s, int t)//时间O(nlog2n) 空间(log2n)
{
int i=s,j=t+1;
float temp=array[s],temp2;//备份基元素

do
{
do{i++;}while(array < ....
# posted by kuan @ 2007-04-12 12:52:10 评论(0)
 


 
       交换排序
2007-04-12 星期四 晴



#include<iostream.h>

void BubbleSort(float array[], int n)//时间O(n^2) 稳定
{
int i,j;
int flag;
float temp;

for(i=1; i<n; i++)//i用于 n-i
{
flag=1;
for(j=0; j<n-i; j++)
....
# posted by kuan @ 2007-04-12 12:51:34 评论(0)
 


 
       堆排序
2007-04-12 星期四 晴



#include<iostream.h>

void Sift(float array[], int n, int i)//筛运算
{
int j;
float temp=array;

j=2*i+1;//array[j] 是 array 的左孩子
while(j <= n-1)//左孩子不空是循环
{
i....
# posted by kuan @ 2007-04-12 12:50:51 评论(0)
 


 
       队列的顺序存储
2007-04-12 星期四 晴



struct Queue
{
ElemType queue[QueueMaxSize];
int front, rear;
};

void InitQueue(Queue &Q)
{
Q.front = Q.rear = 0;
}

void ClearQueue(Queue &Q)
{
Q.front = Q.rear = 0;
}

int Q....
# posted by kuan @ 2007-04-12 12:50:03 评论(0)
 


 
       队列的链接存储
2007-04-12 星期四 晴



struct LNode
{
ElemType data;
LNode *next;
};

struct LinkQueue
{
LNode *front;
LNode *rear;
};

void InitQueue(LinkQueue &HQ)//初始化链队
{
HQ.front = HQ.rear = NULL;
}

vo....
# posted by kuan @ 2007-04-12 12:49:30 评论(0)
 


 
       元素结点的单链表
2007-04-12 星期四 晴



struct ALNode
{
ElemType data;
int next;
};
typedef ALNode ALinkList[MaxSize];


void InitList(ALinkList AL)
{
AL[0].next=0;

for(int i=2; i<MaxSize-1; i++)
AL.next = i+1; //....
# posted by kuan @ 2007-04-12 12:48:54 评论(0)