数据结构-栈的相关理解和C语言基础实现
来源:互联网 发布:手机端怎么找淘宝客服 编辑:程序博客网 时间:2024/05/21 19:30
学到现在,还是对整个数据结构很是混乱的状态。线性表,顺序表,链表,栈,队列,串,都是些什么鬼!!!
上个周末的时候好好思索了下,以及查了下相关资料,稍微有一点理解,不知是对是错,先记录下:
1.数据结构中最基础的是线性表和链表两种结构,两者的区别在于线性表是在内存区分得了一连串的存储空间;而链表分配的是一段不一定连续的存储空间,其相互之间的联系是通过结构中的next指针来说明的。
2.栈,队列,串这三个结构其本质上可能是线性表或链表,不同处在于其方法的不同。
栈的存储是栈顶进,栈顶出,如图
而队列的存储是队列尾进,队列首出,如图
以上就是目前的粗薄理解。
在前段时间的编程中,已经实现了栈的基本实现,以下是代码:
#include "stdafx.h"#include "malloc.h"#define OK 1#define TURE 1#define ERROR 0#define FALSE 0#define LENGTH 20typedef struct { int *base; int *top;}Stack; //定义带头指针的栈结构int initStack(Stack &S) //初始化栈{ S.base=(int *)malloc(LENGTH*sizeof(int)); //初始化LENGTH长度的空间 S.top=S.base; //top指针指向base指针 return OK;}int push(Stack &S,int e) //进栈操作{ *(S.top)=e; //将e的元素值赋给top指针指向的位置 S.top++; //top指针后移 return OK;}int pop(Stack &S) //出栈操作{ int e=*(--S.top); //将top指针所指的元素赋给e return e; //返回e的元素值}int main(){ int i=0; Stack h; initStack(h); for (i=1;i<=10;i++) push(h,i); for (i=1;i<=10;i++) printf("%d ",pop(h)); return OK;}
以上就是目前的学习心得了,很不标准,如果有同学、前辈看到可以互相指点。
0 0
- 数据结构-栈的相关理解和C语言基础实现
- 数据结构单链表的相关操作(linux下实现)C语言
- [C语言][数据结构]基础的线性表的顺序表示和实现
- 轻松理解C语言相关的编译器gcc和g++
- C语言递归的基础和数据结构的初步概念
- C语言实现堆栈(栈)的数据结构
- <数据结构>顺序栈的C语言实现
- <数据结构>链栈的C语言实现
- [数据结构]C语言栈的实现
- 数据结构栈的C语言实现
- 数据结构之栈的c语言实现
- [数据结构]栈的C语言简单实现
- 【数据结构】数据结构C语言的实现(栈)
- c语言数据结构*单链表*,指针的理解
- 数据结构C语言实现栈
- 数据结构.栈(C语言实现)
- 数据结构---栈C语言实现
- 数据结构栈C语言实现
- C语言指针类型
- Bat的pushd和popd
- Android学习笔记:利用Tablelayout和viewpager实现防qq底部栏切换
- XML学习
- Scala第一类函数
- 数据结构-栈的相关理解和C语言基础实现
- 在asyncTask里执行asyncHttp操作报错的原因
- 蓝桥杯——数字三角形
- CocoaPods安装教程
- oracle三种表连接方式
- C语言基础总结
- lightoj1423Olympic Swimming
- JBPM工作流
- test