您的位置: 首页 >> 新闻中心 >> 计算机 >> 软件开发
软件开发:数据库在C++程序中使用方法
精英教育阅读提示:在本教程中,我假设大家都知道如何使用C++的类进行工作,因为我所有的数据结构,要立足于他们。我遇到过关于数据结构的教程,但是很难找到一个使用OOP来编写的。因此,这其中将主要集中于用一个类来编写数据结构。
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
正辰培训 微软软件测试工程师电话预约西直门教学区¥4704
新 科 海 软件测试工程师就业班电话预约海淀长远天地¥6280
北师大IT 软件工程与测试实战班电话预约北京师范大学¥1800
北师大IT 高级网络工程师就业班电话预约北京师范大学¥13000
金 同 方 网络工程师就业周末班电话预约人大总部¥7000

  

  在编写代码时,堆栈是最常用的数据结构。它的概念简单,编写也比较简单。有这么一个情况,桌子上有堆成一堆的5本书,你想增加一本。应该怎么做?只要把书放在顶端就可以了。如果你想从这堆书中取出第3本呢?你只要一本接着一本把书移到顶端,直到第3本书处在顶端。然后取走第3本书,并使其他处在顶端。

  你已经注意到我使用顶端这个词语。没错,顶端(栈顶)对于堆栈至关重要的。堆栈只允许从顶端加入数据,出栈/退栈也是从栈顶。就是这么简单。那什么情况使用堆栈?堆栈被用在每一个进程中。每一个进程都一个堆栈,数据和地址从堆栈中被取出来/添加进来。栈顶规则在这里也符合。ESP Register 添加一个指针,指向栈顶。无论如何,解释进程中的堆栈怎么工作,已超出本教程范围,让我们开始写数据结构。在开始之前,请大家记住一些堆栈术语。向堆栈插入新元素成为入栈,从堆栈中删除元素成为出栈。

以下是引用片段:
  #include 
  using namespace std;
  #define MAX 10 // MAXIMUM STACK CONTENT
  class stack
  {
  private:
  int arr[MAX]; // Contains all the Data
  int top; //Contains location of Topmost Data pushed onto Stack
  public:
  stack() //Constructor
  {
  top=-1; //Sets the Top Location to -1 indicating an empty stack
  }
  void push(int a) // Push ie. Add Value Function
  {
  top++; // increment to by 1
  if(top 
  {
  arr[top]=a; //If Stack is Vacant store Value in Array
  }
  else
  {
  cout<<"STACK FULL!!"< 
  top--;
  }
  }
  int pop() // Delete Item. Returns the deleted item
  {
  if(top==-1)
  {
  cout<<"STACK IS EMPTY!!!"< 
  return NULL;
  }
  else
  {
  int data=arr[top]; //Set Topmost Value in data
  arr[top]=NULL; //Set Original Location to NULL
  top--; // Decrement top by 1
  return data; // Return deleted item
  }
  }
  };
  int main()
  {
  stack a;
  a.push(3);
  cout<<"3 is Pushed\n";
  a.push(10);
  cout<<"10 is Pushed\n";
  a.push(1);
  cout<<"1 is Pushed\n\n";
  cout< 
  cout< 
  cout< 
  return 0;
  }

  输出为:

  3 is Pushed

  10 is Pushed

  1 is Pushed

  1 is Popped

  10 is Popped

  3 is Popped

  我们可以很清楚的看到最后入栈的数据第一个出栈。这就是为什么堆栈被成为LIFO(后进先出,Last In First Out)。我猜你也明白为什么了。

  让我们看看如何编译、执行此程序的。我们首先创建一个叫top的变量,使它处在栈顶位置。赋值-1,表示堆栈是空的。当有数据输入,top自动加1,并把数据存入arr数组中。对于这个数据结构有一个缺点。我们最多只能放10个元素。

下一篇:软件:C语言中实现 点在多边形内 算法

  这是个C语言的小算法的实现程序,本来不想放到这里。可是,当我自己要实现这样一个算法的时候,想在网上找个现成的,考察下来竟然一个符合需要的也没有。我对自己大学读书时写的代码没有信心,所以,决定重新写一个,并把它放到这里,以飨读者。也增加一下BLOG的点击量。

  首先定义点结构如下:

查看详情]

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享95折!
  2008年国家职业资格考试
一次过关完全备考手册
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:软件:关于C++程序中的内存划分介绍
下一篇:软件:C语言中实现 点在多边形内 算法
 相关新闻
·测试工程师与开发人员沟通的五要与四不要(1)·界面测试的总结(5)
·界面测试的总结(4)·界面测试的总结(3)
·界面测试的总结(2)·界面测试的总结(1)
·单元测试实践小结[4]·单元测试实践小结[2]
·单元测试实践小结[3]·单元测试实践小结[1]
·《程序员基础知识天天练》第一期·用C语言编写Windows服务程序的五个步骤
·软件开发:C++计算四则表达式的模板·C&C++论战之C++真的还有未来吗?
·软件:瘦身前后——兼谈C++语言进化·软件:C语言中实现 点在多边形内 算法
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·软件测试新手的修炼之路
·Smarty简体中文参考手册
·Struts中文手册
·Struts快速学习指南
·ultradev动态网页制作教程
·UML工具箱
·《设计模式》中文版
·学友Flash伴侣 1.11
·阿须图像水印(AssureMark)V2.0
·超级语霸
相关试题
·2007年全国CPA考试试卷及答案解析之《会
·2007年CPA试卷及答案解析之《财务成本管
·2008年注会考前模拟试题之《财务成本管理
·2007年全国CPA《税法》考试试卷及答案解
·2008年中级会计职称《经济法》试题及答案
·2008年注册会计师考前模拟试题参考答案之
·2008年注册会计师考前模拟试题之《会计》
·2008年注册会计师考前模拟试题之《税法》
·2008年高校招生全国统考理数试题(四川延
·2008年全国高考物理科试题参考答案(上海
相关热贴
·如何改QQ IP地址!
·恰当选择软件测试自动化方案
·ADO.NET学习总结
·.net操纵xml文件类(c#)
·Log4net教程
·VPN技术详解
·高手必读 网络端口安全防护技巧放送
·访问XP共享出现的问题解决办法
·Web2.0时代,RSS你会用了吗?(技术实现总
·.NET下正则表达式应用的四个示例