赞
踩
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
本文将介绍数据结构的特点以及较简单的两种数据结构:
数据结构分为线性结构与非线性结构两种:
线性结构:
1、线性结构是非空集 。
2、线性结构有且仅有一个开始结点和一个终端结点。
3、线性结构所有结点都最多只有一个直接前趋结点和一个直接后继结点。
非线性结构:
1、非线性结构是非空集。
2、非线性结构的一个结点可能有多个直接前趋结点和多个直接后继结点。
数组这个词我想大家并不陌生,故此处简言介绍,这可以算基本语法之一,实际上,他还是一种基本的非线性结构。
一个数组中有着多个数组元素,并有一维,二维等多维表现形式。
栈是一种特殊的线性表,它只能在一个表的一个固定端(表尾 即栈顶)进行数据结点的插入和删除操作。栈按照后进先出的原则来存储数据,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈顶,读出数据时,从栈顶开始逐个读出。栈在汇编语言程序中,经常用于重要数据的现场保护。栈中没有数据时,则称为空栈。
如图:
用顺序表模拟栈:
1.定义
const int N=100000;
int stack2[N],top=0;//top为栈顶指针
2.进栈
void push(int val)
{
if(top<N-1)
stack2[++top]=val;
else
cout<<"栈堆已满";
}
3.出栈
void pop()
{
if(top>0)
cout<<stack2[top--];
else
cout<<"堆栈已空";
}
注:在stl中自带了栈,可直接定义使用(故上述定义时使用了stack2)
stack<int>s;//定义了元素为整型的栈s
如有错误请联系改正
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。