![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Data Structure
踏雪留印
关注设计,汲取思想
展开
-
栈括号进行匹配
/*借助栈进行括号匹配: 如果为左括号,压入栈中 如果右括号, 如果栈为空,匹配失败 取栈顶元素进行匹配,不匹配失败 输入完成,栈不为空匹配失败*/#define STACKSIZE 10 #define STACKINCREMENT 2#define Nil ' '#include#include#includest原创 2016-07-20 11:57:01 · 252 阅读 · 0 评论 -
MergeSort
#define N 7#define SIZE 20#includestruct RcdType{ int key; int ord;};struct SqList{ RcdType data[SIZE]; int length;};void Merge(RcdType SR[],RcdType TR[],int i,int m,int t){ int j=m+1; in原创 2016-09-07 11:24:38 · 310 阅读 · 0 评论 -
波兰式
2. 前缀表达式早在1920年,波兰科学家扬·武卡谢维奇就发明了一种不需要括号的表示法,可以用来表示一个计算表达式。即将操作符号写在操作数之前,也就是前缀表达式,即波兰式(Polish Notation, PN)。这种表达式直到1960年计算机出现后才发挥出其威力。比如2 + 3 * (5 - 1)这个表达式的前缀表达式为+ 2 * 3 - 5 1来表示。阅读这个表达式转载 2016-09-05 22:40:47 · 4913 阅读 · 3 评论 -
排序算法总结
原文链接:blog.csdn.com/whuslei排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 我不喜欢死记硬背,我更偏向于弄清来龙去脉,理解性地记忆。比如下面这张图,我们将围绕这张图来思考几个问题。转载 2016-09-16 14:29:39 · 374 阅读 · 0 评论 -
Sqequential Search And Binary Search
#define N 11#include#includestruct SSTable{ int *elem; int length;};void CreateSSTable(SSTable &s,int r[],int n){ int i; s.elem=(int *)malloc(sizeof(int)*(n+1)); if(!s.elem){ printf("OverF原创 2016-08-11 11:48:07 · 270 阅读 · 0 评论 -
链表操作
#include#includetypedef struct LinkNode{ int data; struct LinkNode* next;}*LinkList;void InitList(LinkList &l){ l=(LinkNode*)malloc(sizeof(LinkNode)); if(!l){ printf("OverFlow!"); exit(1);原创 2016-08-21 10:45:43 · 254 阅读 · 0 评论 -
SecondSearchOptionalTree
#define N 9#include#include#includestruct ElemType{ char key; int weight;};struct SSTable{ ElemType *elem; int length;};typedef struct BiTNode{ ElemType e; BiTNode* lchild; BiTNode* rch原创 2016-08-30 11:57:40 · 227 阅读 · 0 评论 -
顺序表基本操作
/*顺序表实现的集合的交、并、插入、删除*/#define LISTSIZE 15#define LISTINCREMENT 8#include#includestruct SqList{ int *elem; int length; int listsize;};void InitList(SqList &l){ l.elem=(int*)malloc(sizeof(i原创 2016-08-07 17:18:44 · 461 阅读 · 0 评论 -
BinaryTree
#include#include#ifndef _BITNODE_H_#define _BITNODE_H_typedef struct BiTNode{ int data; BiTNode* lchild; BiTNode* rchild;}*BiTree;#endif#define STACKSIZE 10#define STACKINCREMENT 5#in原创 2016-08-28 11:17:44 · 413 阅读 · 0 评论 -
顺序表删除相同的元素
/*顺序表删除相同的元素算法一:拿一个元素,依次与余下的元素进行比较,相同移动元素删除,缺点要进行大量的元素移动算法二:一个元素与前j个不相同的元素进行比较,不相同则元素加入不同元素的区间,相同不进行加入不同区间元素列表*/#define LISTSIZE 20#include#includetypedef struct Sqlist{int *elem;int l原创 2016-07-22 10:43:09 · 7335 阅读 · 3 评论 -
有n个人围成一圈,顺序排号
用C语言编写:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到m报数),凡报到m的人退出圈子,请输出报数出列圈及最后留下的数据和在原来位置的第几号? 要求如下:(1)用函数来实现报数并退出(2)要求使用指针#include #include #include #include #include int main(int argc, char **a转载 2016-09-23 09:24:52 · 5276 阅读 · 0 评论