天天加油 - 助您成才
数据库在C++程序中使用方法
您正在看的C语言系列是:数据库在C++程序中使用方法。

  在本教程中,我假设大家都知道如何使用C++的类进行工作,因为我所有的数据结构,要立足于他们。我遇到过关于数据结构的教程,但是很难找到一个使用OOP来编写的。因此,这其中将主要集中于用一个类来编写数据结构。

  栈

  在编写代码时,堆栈是最常用的数据结构。它的概念简单,编写也比较简单。有这么一个情况,桌子上有堆成一堆的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个元素。

  • 上一篇教程:
  • 下一篇教程: 没有了
  • 排行

    1. VC防止窗口和控件闪烁的方法
    2. 基于Winsock API的VC网络编程实战
    3. 用VC实现动态改变Windows的显示特
    4. VC中利用MFC设计绘图程序初步
    5. 听说过WinZip软件也可以“杀毒”
    6. 利用Delphi开发旅游景点微机售票
    7. 在DBGrid组件中显示和编辑MEMO字
    8. 学好VC++的十大良好习惯
    9. DELPHI数据库应用程序的开发环境
    10. 汇编DEBUG全过程跟踪
    11. 汇编中的管道操作方法(一)
    12. 汇编中的管道操作方法(二)
    13. 汇编中的管道操作方法(三)
    14. 汇编进程控制的实现方法(一)
    15. 汇编进程控制的实现方法(二)
    16. 汇编中使用定时器的方法
    1. VC防止窗口和控件闪烁的方法
    2. 基于Winsock API的VC网络编程实战
    3. 用VC实现动态改变Windows的显示特
    4. VC中利用MFC设计绘图程序初步
    5. Delphi存取图像完整解决方案
    6. 听说过WinZip软件也可以“杀毒”
    7. 利用Delphi开发旅游景点微机售票
    8. 在DBGrid组件中显示和编辑MEMO字
    9. 学好VC++的十大良好习惯
    10. DELPHI数据库应用程序的开发环境
    11. 汇编DEBUG全过程跟踪
    12. MS Jet SQL for Access 2000中级
    13. MS Jet SQL for Access 2000中级
    14. ACCESS数据库数据传递的方法
    15. 破解Access(*.mdb)目前所有版本的
    16. 汇编中的管道操作方法(一)
    1. 听说过WinZip软件也可以“杀毒”
    2. Delphi存取图像完整解决方案
    3. 利用Delphi开发旅游景点微机售票
    4. 在DBGrid组件中显示和编辑MEMO字
    5. 学好VC++的十大良好习惯
    6. DELPHI数据库应用程序的开发环境
    7. 汇编DEBUG全过程跟踪
    8. 汇编中的管道操作方法(一)
    9. 汇编中的管道操作方法(二)
    10. 汇编中的管道操作方法(三)
    11. 汇编进程控制的实现方法(一)
    12. 汇编进程控制的实现方法(二)
    13. 汇编中使用定时器的方法
    14. 汇编复杂形状的窗口实例学习
    15. 汇编图形界面的操作
    16. 汇编菜单和加速键(一)

    最近更新

  • 推荐阅读
  • C语言系列《数据库在C++程序中使用方法》数据库在C++程序中使用方法
    关于我们 | 版权申明 | 广告服务 | 友情链接 | 网站地图 | 使用帮助 | ©2006-2008 TTADD.COM