資料結構——C++棧
// 資料結構c++棧模板.cpp : 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include<iostream> using namespace std; const int MAX=5; //假定棧中最多儲存5個數據 //定義名為stack的類,其具有棧功能 class stack { //資料成員 float num[MAX]; //存放棧資料的陣列 int top; //指示棧頂位置的變數 public: //成員函式 void init(void) { top=0; } //初始化函式 void push(float x) //入棧函式 { if (top==MAX){ cout<<"Stack is full !"<<endl; return; }; num[top]=x; top++; } float pop(void) //出棧函式 { top--; if (top<0){ cout<<"Stack is underflow !"<<endl; return 0; }; return num[top]; } }; //以下是main()函式,其用stack類建立棧物件,並使用了這些物件 void main() { //宣告變數和物件 int i; float x; stack a,b; //宣告(建立)棧物件 //以下對棧物件初始化 a.init(); b.init(); //以下利用迴圈和push()成員函式將2,4,6,8,10依次入a棧物件 for (i=1; i<=MAX; i++) a.push(2*i); //以下利用迴圈和pop()成員函式依次彈出a棧中的資料並顯示 for (i=1; i<=MAX; i++) cout<<a.pop()<<" "; cout<<endl; //以下利用迴圈和push()成員函式將鍵盤輸入的資料依次入b棧 cout<<"Please input five numbers."<<endl; for (i=1; i<=MAX; i++) { cin>>x; b.push(x); } //以下利用迴圈和pop()成員函式依次彈出b棧中的資料並顯示 for (i=1; i<=MAX; i++) cout<<b.pop()<<" "; }
相關推薦
資料結構——C++棧
// 資料結構c++棧模板.cpp : 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include<iostream> using namespace std; const int MAX=5; //假定棧中最
資料結構之棧(Stack)的關於C語言的實現
C語言實現棧共有兩種方法,一種是使用陣列的包含最大Size的棧,另外一種是運用連結串列的方法實現 關於陣列方法實現的程式碼如下: #include<stdio.h> /** * Your MinStack struct will be instantiate
資料結構C/C++程式碼實現 棧連結串列基本操作
實現棧連結串列基本操作: #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct linknode { ElemType data; stru
資料結構C/C++程式碼實現 順序表棧基本操作
順序表棧基本操作的實現 原始碼: #include<stdio.h> #include<stdlib.h> #include<iostream> using namespace std; #define MAXSIZE 100 //#d
資料結構(C語言版 嚴蔚敏著)——棧和佇列
棧的定義: · 書本定義:棧是一個後進先出的線性表,它只要求只在表尾 進行刪除和插入操作。 · 通俗定義:棧就是一個特殊的線性表(順序表,連結串列),操作上有一些特殊性: -棧的元素必須“後進先出”。 -棧的操作只能在這個線性表的表尾進行。
【資料結構】棧的順序儲存結構 C語言實現
棧(stack),是一種線性儲存結構,它有以下幾個特點: 棧中資料是按照"後進先出(LIFO, Last In First Out)"方式進出棧的。 向棧中新增/刪除資料時,只能從棧頂進行操作。 基本操作 initStack(&S) destroySt
C語言_資料結構_棧
#include <iostream> #include <algorithm> using namespace std; typedef int Status; #define stackElemType int #define STACK_IN
資料結構——入棧,出棧,佇列相關操作(C語言實現)
閱讀過程之中可能會花費比較多的時間:建議直接翻到最後,有完整的程式碼可以使用 程式準備工作 #include <stdio.h> #include <malloc.h> #include <stdlib.h> #include<proc
C資料結構-鏈棧
鏈棧 鏈棧的設計依賴於筆者之前設計的連結串列,詳情請看《C資料結構-線性表之單鏈表 》。 #ifndef LINKEDSTACK_H #define LINKEDSTACK_H #include "LinkedList.h" t
C資料結構-順序棧
順序棧 順序棧的實現依賴於筆者之前實現的順序表,詳情請看《C資料結構-線性表之順序表》。 #ifndef SEQSTACK #define SEQSTACK #include "SeqList.h" typedef seq_list seq_
資料結構-C語言實現線性棧
#include<stdio.h> #include<stdlib.h> #define STACK_INIT_SIZE 100//儲存空間初始化分配量 #define STACKINCREAMENT 10//儲存空間分配增量 #defi
C語言資料結構用 棧 實現進位制轉化
直接上程式碼,思路看註釋; /*棧實現進位制轉化 *十進位制最大轉化為36進位制用10(A)-35(Z)表示 */ #include<stdio.h> #include<malloc.h> #include<stdlib.h> #
【資料結構 C描述】使用順序棧編制一個滿足下列要求的程式:對於輸入的任意一個非負十進位制數,列印輸出與其等值的二進位制數。
【資料結構 C描述】使用順序棧編制一個滿足下列要求的程式:對於輸入的任意一個非負十進位制數,列印輸出與其等值的二進位制數。 //main.cpp #include <iostream> #include <malloc.h> #include <stdl
C++_STL_資料結構_stack_棧
棧(statck)這種資料結構在計算機中是相當出名的。棧中的資料是先進後出的(First In Last Out, FILO)。棧只有一個出口,允許新增元素(只能在棧頂上增加)、移出元素(只能移出棧
資料結構--c實現棧的出棧入棧
一,只有棧頂的情況。 1,首先定義連結串列單節點: typedef struct node { ElementType data; struct node *next }StackNode ,*LinkStack; 2.
【資料結構】棧的應用--數制轉換(c++)
標頭檔案: #pragma once #include <iostream> #include <assert.h> using namespace std; template<class Type> class SeqStack
資料結構中用棧實現表示式求值(c語言實現)
/* 該程式完成了個位數的各類表示式求值 運用了資料結構中的棧及對棧操作的各類函式,操作全用指標完成 如輸入 2+3*(3+3*1)# 輸出結果為 20 經測試個位數的表示式運算結果均正確 */ #include<stdio.h> #include<std
簡單資料結構----鏈棧的C++實現
/* * File name : LinkList.cpp * Function : 鏈棧的C++實現 * Created on : 2016年4月22日 * Author : [email protected] * Copyright : 歡迎大
C/C++ 資料結構之 棧的建立
順序棧 #include "stdafx.h" #include<iostream> using namespace std; typedef int SElemType; typedef struct{ SElemType *bas
C資料結構之棧的應用:括號匹配和簡單計算器
堆疊是一種資料項按序排列的資料結構,只能在其一端進行插入和刪除。括號匹配和表示式求值是堆疊的兩個典型應用。1.找到無法匹配的左右括號,輸出原字串,失配的左括號下打&,右括號下打? 輸入包括多組資料,每組資料一行,包含一個字串,只包含左右括號和大小寫字母,字元長度不超過