原创 用鏈表存儲隊列

#include<iostream> using namespace std; enum Error_code { success, fail, range_error, underflow, overflow, fatal,

原创 c++語言描述n皇后問題(回溯法)

第一種方法: 思路:我們以4皇后問題爲例:用回溯法,設一個二維數組作爲棋盤,一個位置一個位置地試,首先我們將第一個皇后放入(0,0)中,根據規則,第0行中不能再放其他皇后,那麼下一個要放在第二行,根據規則,第1行第一二列被第一個皇

原创 用c++模擬ATM機

**一.題目:**用c++模擬ATM機. 二.分析: 實現ATM機,首先要創建兩個類,一個爲用戶類,用來存儲用戶個人信息。另一個爲ATM類, 用來實現各種功能。用戶類中用戶個人信息只有用戶本人可以查看,所以全部爲私有數據成 員,包

原创 多項式的簡單運算(棧和隊列的應用)

思路: 首先要考慮存儲多項式,只需存它每一項的係數和指數,用隊列來存儲比較方便,所以需要調用之前的鏈表隊 列,將每一項的指數和係數當做一個數據存入隊列。然後簡單的加減乘除運算可以套用計算器(棧的應用), 只需將S

原创 用鏈表存儲棧

#include<iostream> enum Error_code { success, fail, range_error, underflow, overflow, fatal, not_present, duplicate

原创 雙端隊列隊列操作的應用 呼叫中心的離散事件模擬

1.問題 假定我們的程序模擬的是 xauat 網上書店的電話接待臺接電話(離散事件)的過程。 用戶在打電話諮詢時,先輸入自己的標識(如姓名或會員號),然後進入排隊等待被 接聽電話。xauat 服務人員會根據該用戶在書店已購買書籍的

原创 雙端隊列棧的應用 逆波蘭表達式求值

1.目的 基於雙端隊列的頭插、頭刪操作,完成棧的應用:逆波蘭表達式求值,測試和調試程序。 遇到操作數,則入棧; 遇到二元運算符,則連續從棧中彈出兩個操作數,先彈出的做第二操作數,後彈出的做 第一操作數,與該二元運算符作用後,將得到

原创 用C++語言實現雙端隊列

1.目的 基於雙鏈表實現雙端隊列的典型操作(判空、頭插、頭刪、尾插、尾刪、普通構造、拷 貝構造、賦值運算符重 載、析構) 2.原理 雙端隊列頭插: 雙端隊列尾插: 雙端隊列頭刪: 雙端隊列尾刪: 3.代碼 dlist.c

原创 線性表 查找

引入Key類。 Key類指要查找的數據中最關鍵最有標識性的部分,查找時通過key的比較,快速判斷出這個數據是否是要查找的數據。 #include<iostream> using namespace std; class Key

原创 用C++語言實現線性表

1.用數組實現 #include<iostream> #include "utility.h" using namespace std; const int max_list = 5000; template <class

原创 漢諾塔問題

第一種方法: **思路:**要將n個盤子從1挪到3,中間變量爲2,那麼首先要將上面的n-1 個盤子從1挪到2,然後將最後一個盤子從1挪到3,如此遞歸,重複調用函數即可。 代碼: #include<iostream> using

原创 用c++實現隊列

1.隊列的特點: 先進先出,用數組存儲。 ***2.隊列的基本操作:***存入數據、刪除數據、讀隊列頭數據。 需要一個變量front指向隊列的頭下標,另一個變量rear指向隊列的尾下標。 增加元素時rear向後移一個,

原创 用c++程序實現棧

**1.棧的特點:**先進後出,對數組進行操作,每次只能對棧頂元素操作 **2.棧需要的基本操作:**入棧 (push)、出棧(pop)、取棧頂元素(top)。 入棧: 出棧: 取棧頂元素: 3.程序實現: 程序說明: (1)

原创 用C++模擬圖書館系統

目的: 用c++語言實現圖書館系統 分析: 圖書館系統中要實現的功能有:圖書的分類存儲,不同身份的人員進行不同的操作。在這個程序中, 我把圖書分爲兩類:小說類和專業書類,這兩種類都有相同的功能,所以設一個基

原创 c++ 函數調用

代碼: #include<iostream> using namespace std; void swap1(int a,int b) { int temp = 0; temp = a; a