自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)庫(kù)在C++程序中使用方法

開(kāi)發(fā) 后端
這篇文章我將結(jié)合個(gè)人的一些實(shí)踐經(jīng)驗(yàn),給大家介紹數(shù)據(jù)庫(kù)在C++程序中使用方法。

  在給大家介紹數(shù)據(jù)庫(kù)C++程序中使用方法之前,我假設(shè)大家都知道如何使用C++的類進(jìn)行工作,因?yàn)槲宜械臄?shù)據(jù)結(jié)構(gòu),要立足于他們。我遇到過(guò)關(guān)于數(shù)據(jù)結(jié)構(gòu)的教程,但是很難找到一個(gè)使用OOP來(lái)編寫(xiě)的。因此,這其中將主要集中于用一個(gè)類來(lái)編寫(xiě)數(shù)據(jù)結(jié)構(gòu)。

  棧

  在編寫(xiě)代碼時(shí),堆棧是最常用的數(shù)據(jù)結(jié)構(gòu)。它的概念簡(jiǎn)單,編寫(xiě)也比較簡(jiǎn)單。有這么一個(gè)情況,桌子上有堆成一堆的5本書(shū),你想增加一本。應(yīng)該怎么做?只要把書(shū)放在頂端就可以了。如果你想從這堆書(shū)中取出第3本呢?你只要一本接著一本把書(shū)移到頂端,直到第3本書(shū)處在頂端。然后取走第3本書(shū),并使其他處在頂端。

  你已經(jīng)注意到我使用頂端這個(gè)詞語(yǔ)。沒(méi)錯(cuò),頂端(棧頂)對(duì)于堆棧至關(guān)重要的。堆棧只允許從頂端加入數(shù)據(jù),出棧/退棧也是從棧頂。就是這么簡(jiǎn)單。那什么情況使用堆棧?堆棧被用在每一個(gè)進(jìn)程中。每一個(gè)進(jìn)程都一個(gè)堆棧,數(shù)據(jù)和地址從堆棧中被取出來(lái)/添加進(jìn)來(lái)。棧頂規(guī)則在這里也符合。ESP Register 添加一個(gè)指針,指向棧頂。無(wú)論如何,解釋進(jìn)程中的堆棧怎么工作,已超出本教程范圍,讓我們開(kāi)始寫(xiě)數(shù)據(jù)結(jié)構(gòu)。在開(kāi)始之前,請(qǐng)大家記住一些堆棧術(shù)語(yǔ)。向堆棧插入新元素成為入棧,從堆棧中刪除元素成為出棧。

  以下是引用片段:

  1. #include  
  2.     using namespace std;  
  3.     #define MAX 10 // MAXIMUM STACK CONTENT  
  4.     class stack  
  5.     {  
  6.     private:  
  7.     int arr[MAX]; // Contains all the Data  
  8.     int top; //Contains location of Topmost Data pushed onto Stack  
  9.     public:  
  10.     stack() //Constructor  
  11.     {  
  12.     top=-1; //Sets the Top Location to -1 indicating an empty stack  
  13.     }  
  14.     void push(int a) // Push ie. Add Value Function  
  15.     {  
  16.     top++; // increment to by 1  
  17.     if(top  
  18.     {  
  19.     arr[top]=a; //If Stack is Vacant store Value in Array  
  20.     }  
  21.     else 
  22.     {  
  23.     cout《"STACK FULL!!"<  
  24.     top--;  
  25.     }  
  26.     }  
  27.     int pop() // Delete Item. Returns the deleted item  
  28.     {  
  29.     if(top==-1)  
  30.     {  
  31.     cout《"STACK IS EMPTY!!!"<  
  32.     return NULL;  
  33.     }  
  34.     else 
  35.     {  
  36.     int data=arr[top]; //Set Topmost Value in data  
  37.     arr[top]=NULL; //Set Original Location to NULL  
  38.     top--; // Decrement top by 1  
  39.     return data; // Return deleted item  
  40.     }  
  41.     }  
  42.     };  
  43.     int main()  
  44.     {  
  45.     stack a;  
  46.     a.push(3);  
  47.     cout《"3 is Pushed\n";  
  48.     a.push(10);  
  49.     cout《"10 is Pushed\n";  
  50.     a.push(1);  
  51.     cout《"1 is Pushed\n\n";  
  52.     cout<  
  53.     cout<  
  54.     cout<  
  55.     return 0;  
  56.     }  
  57.     輸出為:  
  58.     3 is Pushed  
  59.     10 is Pushed  
  60.     1 is Pushed  
  61.     1 is Popped  
  62.     10 is Popped  
  63.     3 is Popped  

  我們可以很清楚的看到最后入棧的數(shù)據(jù)第一個(gè)出棧。這就是為什么堆棧被成為L(zhǎng)IFO(后進(jìn)先出,Last In First Out)。

  讓我們看看如何編譯、執(zhí)行此程序的。我們首先創(chuàng)建一個(gè)叫top的變量,使它處在棧頂位置。賦值-1,表示堆棧是空的。當(dāng)有數(shù)據(jù)輸入,top自動(dòng)加1,并把數(shù)據(jù)存入arr數(shù)組中。不過(guò),對(duì)于這個(gè)數(shù)據(jù)結(jié)構(gòu)也有一個(gè)缺點(diǎn),我們最多只能放10個(gè)元素。

【編輯推薦】

  1. 程序員新招:Java與C++混合編程
  2. C++探秘: 68講貫通C++
  3. C++庫(kù)連接來(lái)對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行正確連接
  4. 連接MySQL,用C++庫(kù)
  5. 一步一步設(shè)計(jì)你的數(shù)據(jù)庫(kù)1
  6. 2011年3月計(jì)算機(jī)三級(jí)數(shù)據(jù)庫(kù)試題
責(zé)任編輯:韓亞珊 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2011-05-17 16:20:46

C++

2010-01-26 17:35:09

C++棧

2011-07-21 15:05:14

iPhone 數(shù)據(jù)庫(kù)

2010-02-02 09:32:32

C++ typedef

2010-03-10 19:18:10

Python scri

2010-02-02 09:49:02

C++模板

2010-01-25 14:10:21

C++堆棧

2011-07-13 11:34:58

CC++時(shí)間函數(shù)

2010-01-27 15:58:35

C++數(shù)據(jù)結(jié)構(gòu)

2011-08-30 13:49:57

Qt數(shù)據(jù)庫(kù)QTableView

2011-08-11 17:00:33

iPhone數(shù)據(jù)庫(kù)SQLite

2011-08-25 17:49:14

MySQLmysqlcheck

2010-04-21 17:50:59

共享庫(kù)bada

2012-08-20 10:43:50

IBMdW

2011-08-29 14:44:56

DBLINK

2020-03-03 19:00:50

C語(yǔ)言數(shù)據(jù)科學(xué)

2016-01-25 15:09:22

JavaScriptC程序

2011-08-02 14:29:06

SQL Server數(shù)Substring函數(shù)

2011-05-12 18:14:29

算法

2009-06-10 14:42:50

NetBeans IDJava DB數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)