数据结构
zyh_helen
Helen , 他 , 很努力 !
展开
-
顺序栈
stack.h#include#include#include#define MAX 100typedef int ELEMTYPE;typedef struct stack{ ELEMTYPE *data; int top; //对栈的操作限制在栈顶,所以必须知道栈顶的位置:top=-1表示栈空 int stackSize; //栈的容量:防止溢出}原创 2015-03-15 11:25:57 · 733 阅读 · 0 评论 -
[数据结构]c++注释转化为c语言注释
每个程序员的代码注释风格不同,为统一代码注释风格,有时需要将c++注释转化为c语言注释或者反之,人工修改速度太慢,且容易出错,要是有一个专门负责注释代码转化的程序,必定事半功倍!!题目要求:注释转化要求如下:注释的嵌套情形很多,这里只是举例,你需要遵照C/C++语言的注释规则来编写代码,我不会仅测试这里的例子。1、单行注释或没有嵌套,注释行直接转换,如: ①//原创 2015-06-25 14:43:14 · 1214 阅读 · 0 评论 -
顺序栈(含有栈顶指针,栈底指针)的实现以及编写过程中的一些疑惑的解决
参考文献:数据结构(c语言版)---严蔚敏p44----->p47代码如下:#include//malloc realloc#include//cin coutusing namespace std;typedef int ElemType;/*元素类型*/#define STACK_INIT_SIZE 100 /*栈存储空间初始化容量*/#define STACKINCR原创 2015-05-30 15:56:52 · 6655 阅读 · 0 评论 -
(含头指针以及尾指针)循环双向链表各类功能的实现
对循环双链表实现下述功能:void meau(); //菜单函数void Initlist(List *list); //初始化void show(List *list); //打印链表内容bool Push_back(List *list,ElemType x); //尾插法b原创 2015-05-05 00:24:34 · 3734 阅读 · 0 评论 -
(含有头指针以及尾指针)单链表各类功能的实现
对单链表实现如下功能:void InitList(List *list); //初始化单链表bool push_back(List *list,ElemType x); //尾插法void show_seqlist(List *list); //显示链表内容bool push_front(List *list,ElemType x);//头插法b原创 2015-04-30 00:33:44 · 7803 阅读 · 4 评论 -
栈的应用之进制转化
顺序栈的代码:不再赘述:点击打开链接 //栈的应用-----进制转化#include"stack.h"int main(){ Stack st; InitStack(&st); int select; int num1; //要转化的数 int num2; //转化之后各个位的数 int flag = 1; //控制循环结束 while(flag原创 2015-05-09 16:10:07 · 955 阅读 · 0 评论 -
栈的应用之括号匹配
思路:在算法中设置一个栈,每读入一个空号一:若是右括号: '}' ' )' ']'(两种情况):1:使置于栈顶的最急迫的期待得以消解,需将栈顶元素出栈;2:不合法的情况,即与栈顶的最急迫的期待不匹配,需将其(括号)压栈;二:若是左括号:'(' '{' '['作为一个新的更急迫的期待压栈;顺序栈的代码不再赘述:点击打开链接 //括号匹配#inc原创 2015-05-09 16:20:40 · 1973 阅读 · 0 评论 -
栈的应用之行编辑程序
思路:栈作为输入缓冲区,每当从终端了接受一个字符之后先做如下判别:1:若是退格符#,从栈顶删去一个元素,即出栈Pop;2:若是退行符@,将字符栈清空,即clear;3:若不是#或@,即为有效字符,将该字符入栈,即Push;顺序栈的代码:点击打开链接只需将 typedef int ElemType -------->>> typedef char ElemType #in原创 2015-05-09 15:34:01 · 2673 阅读 · 0 评论 -
大数加法
思路:把两个加数各个数位上的数字相加,把相加结果的个位数字储存到第三个变量中去,而把十位数字提取出来参与下一次加法运算。12345+1247用上图表示即先做 5+7=12,把12 的2放到一个第三个变量中,然后十位数字(进位)1则暂时储存起来,当做4+4=8的时候再把1加进来即=9。不断循环之后可得到两个大数相加的结果。程序的实现:考虑到是意两个长正整数,所以选用字原创 2015-05-08 21:21:39 · 760 阅读 · 0 评论 -
顺序栈的实现
对顺序栈实现如下功能:void meau(); //菜单函数void InitStack(Stack *st); //初始化栈bool IsFull(Stack *st); //判断栈是否已满bool IsEmpty(Stack *st); //判断栈是否为空bool Push(Stack *st,ElemType x); //入栈bool Pop(Stack *st,原创 2015-05-07 23:26:32 · 2584 阅读 · 0 评论 -
线性表的实现
实现线性表的各类操作:void InitSeqList(SeqList *list); //初始化线性表int begain(SeqList *list); //线性表的初始位置(返回第一个下标即0)int end(SeqList *list); //末位置(返回最后一原创 2015-04-23 19:49:41 · 807 阅读 · 0 评论 -
多种方式计算多项式a0+a1*x+a2*x^2+a3*x^3+.......(计算效率与算法的重要性)
问题描述:两种方式计算多项式a0+a1*x+a2*x^2+a3*x^3+.......(普通算法以及秦九韶算法)在某处x的值,通过调用中的函数tick(),计算两种方式的运算时间,得出。。。。。预知结论为何,请看下面代码:代码如下:#include#include //pow#include //tick#define MAXODER 300 //最大阶乘数#def原创 2015-04-18 10:38:16 · 6116 阅读 · 3 评论 -
线性表
#include#include#include#include#define StringSize 10//学生数据类型typedef struct{ char name[StringSize]; float score;}STD;//顺序表数据类型typedef struct{ STD *data; int ListSize; //数组容量 int leng原创 2015-03-13 13:02:04 · 542 阅读 · 0 评论 -
【c++版数据结构】单链表复习之常见面试题型1
题目描述:1:从尾到头依次打印单链表2:在链表中删除指定的节点3:假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点),请将该节点从单链表中删除。4:假设有一个没有头指针的单链表,一个指针指向此单链表中一个节点,要求在此节点前插入一个节点5:编写一个函数,给定一个链表的头指针,要求只遍历一次,将单链表中的原创 2016-03-10 15:47:49 · 846 阅读 · 0 评论