数据库在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个元素。

时间: 2024-10-30 01:13:18

数据库在C++程序中使用方法的相关文章

数据库 存储过程-在程序中调用存储过程确查不出数据?

问题描述 在程序中调用存储过程确查不出数据? 在sql数据库中调用存储过程可以查询出结果,在程序中调用存储过程确查不出数据?这是什么原因? 解决方案 use test1 go IF EXISTS (SELECT * FROM sys.objects WHERE object_id = Object_id(N'[t_sp_test111]') AND Objectproperty(object_id, N'IsUserTable') = 1) drop table t_sp_test111 go

嵌入Dll到.net程序中的方法

我们经常会写一些小程序给自己或者他人用,而这些程序时长又会去引用一些第三方的Dll,比如开源的 ICSharpCode.SharpZipLib.dll等,为了让程序保持整洁,或者给对方的时候方便,就想把这些dll给嵌入到EXE中去,这样在不打包的情况下,只要丢一个文件给对方就能用了.最近研究了下可行性,目前有如下两种方法: 方法1:把相关的第三方dll作为程序资源嵌入到EXE中,在程序运行的时候,从资源文件中输出到程序执行目录即可 (图1:示例项目,ThirdPartydlldemo.dll作为

什么工具能抓取程序中方法使用的时间?

问题描述 有一个开源工具,能抓取程序中方法使用的时间,到底是什么工具啊,求之~事情是这样的,我用loadrunner做网站的压力测试,并发用户到280人之后,开始有失败的事务,以及无法连接的错误,但CPU利用率很低,30%左右,而等待的进程数却很大,6-15作用,内存的曲线几乎是一条直线,所以判断内存没问题,现在要分析系统的瓶颈,我的领导说有一款工具,可以抓取JAVA程序中方法使用的时间,可是他又不记得工具的名字(不知道真假),来判断系统瓶颈所在,我搜索了半天,可是却如大海捞针一样,找不到有效的

将Lua嵌入到自己的程序中

原文:http://www.codeproject.com/KB/cpp/lua.aspx 介绍 本文介绍将Lua嵌入到自己程序中的方法. 什么是Lua Lua是具有简单数据描述的扩展编程语言(动态解析语言).它提供了非常好的面向对象编程, 函数式编程(functional programming),数据驱动式编程(data-driven programming), 它可以作为一个强大.轻量的脚本语言,供任何需要的程序使用.Lua 以一个用 clean C 写成的库形式提供.(所谓 Clean

Java数据库程序中的存储过程设计

程序|存储过程|设计|数据|数据库 本文阐述了怎么使用DBMS存储过程.阐述了使用存储过程的基本的和高级特性,比如返回ResultSet.本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储过程的编程经历. 存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接(如果有)返回结果

使用hsqldb将常用数据库整合到应用程序中

程序|数据|数据库 使用hsqldb将常用数据库整合到应用程序中 在 http://blog.csdn.net/lizongbo/archive/2005/02/13/286697.aspx 提到过一些常用数据库,可以视作固定编码的数据库.对于这些书库,通常只进行查询使用. 因此针对一些比如用户希望只传入ip地址就要查询到用户信息,或者只传入行政区划编号,就可以得到行政区划名字等等需求.而且用户不希望去配置数据库信息等等,Access文件虽然比较方便,却不具有跨平台的效果,因此可以借助开源免费的

J2EE程序中使用oracle数据库LOB字段的总结(elathen)

j2ee|oracle|程序|数据|数据库 最近在J2EE的项目中需要使用LOB字段保存文本信息以及图片和文件,到网上搜拉一下,还不少,仔细看拉一下,但都不是很全有的还有错误,经过几天的实践,把问题都解决拉,顺便总结一下,希望对需要的朋友有点参考 LOB中我们用的比较多的主要有两种CLOB和BLOB,我们对两种类型分别讨论 1.CLOB是字符型LOB,主要存储文本信息,,最长为4G.,在J2EE程序中,比如网页的textarea中的字符信息比较长,Varchar2字段类型不能满足时,我们就得用C

.NET数据库应用程序中存储过程的应用

程序|存储过程|数据|数据库 一.前言: 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程.总的来说,存储过程具有以下一些优点: ◆存储过程允许标准组件式编程. ◆存储过程能够实现较快的执行速度. ◆存储过程能够减少网络流量. ◆存储过程可被作为一种安全机制来充分利用. 本文作者将向大

在ASP程序中访问Access数据库

access|程序|访问|数据|数据库          在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了.而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使用的首选.由于Access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序+客户端IE浏览器,是一个精练实用高效的组合模式.         在这种使用模式中,ASP程序无疑是最重要的,是沟通客户端和后台