原创 析構函數小結

析構函數 析構函數是一個特殊的成員函數,其作用與構造函數相反,它的名字是類的名字前面加一個“~”符號,在c++中這是位取反運算符,理解爲析構函數是與構造函數作用相反的函數 以下四種情況程序會自動執行析構函數: 如果在一個函數中定

原创 類和對象基礎知識小結

客觀世界的任何一個事物都可以看作是一個對象(Object) 任何一個對象都應當具有兩個因素,即屬性和行爲 在一個系統中的多個對象之間通過一定的渠道相互聯繫,要使某一個對象實現某一種行爲(即操作),應當向它傳送相應的消息 在C+

原创 關於數組的地址計算

數組一般會採用數據存儲結構,數組的順序存儲結構有兩種: 以行序存儲 以列序存儲 數組地址的計算 對於一維數組:若設A[] A[]={a1,a2,a3....,ai....an} 設每個數組元素佔據d個存儲單元,則元素ai的存

原创 靜態存儲類型小結

靜態全局變量 1.在全局變量前面加一個static,使該變量只在這個源文件可用,稱之爲全局靜態變量 2.靜態全局變量對組成該程序的其他源文件是無效的 file1.cpp static int a=3; int main() {

原创 繼承與派生以及虛基類小結

繼承就是利用原來聲明的類作爲基礎,再加上新的內容,以減少重複的工作量 一個派生類只從一個基類派生叫做單繼承 一個派生類有兩個或多個基類的叫做多重繼承 繼承和派生的關係可以表述爲派生類是繼承的具體化,而基類是派生類的抽象 聲明派

原创 對象數組與指針小結

對象數組的每一個元素都是同類的對象 如果構造函數只有一個參數,在定義數組時可以直接在等號後面的花括號內提供實參 Student stud[3]={60,70,80}; 在定義數組時提供的實參個數不能超過數組元素 如果構造函

原创 (PAT甲)1069 The Black Hole of Numbers

這道題不難,把數字放到數組裏然後進行兩次排序,得到非遞增和非遞減的兩組數字,不斷重複過程最後會得到6174這個數字,特別注意的是輸出樣例中有四個空格,題目中沒有說明,但是可以從輸出樣例中看出來,當時我就是調試這個花了不少時間,然後注意16

原创 棧小結

棧是一種只允許在一端進行插入和刪除操作的線性表,棧頂是允許插入和刪除的那一端,而棧底是不允許插入和刪除的那一端 基本操作: InitStack(&S);//初始化一個棧 StackEmpty(S);//判斷一個棧是否爲空,若爲空則

原创 兩數之和

給定一個整數數組 nums 和一個目標值 target,在該數組中找出和爲目標值的兩個整數,並數組下標,不能重複利用這個數組中同樣的元素。 暴力法: class Solution{ public: vector<int> twoS

原创 (Pat甲)1032 Sharing

此題給出兩條鏈表的首地址以及若干結點的地址和數據以及下一個結點的地址,求兩條鏈表首個公用結點的地址,如果沒有共用結點的話則輸出-1 #include<cstdio> #include<cstring> const int maxn

原创 queue常見用法

queue就是隊列,在STL中主要實現了一個先進先出的容器,使用queue應該先添加頭文件#include<queue> 定義 queue<typename>name; queue本身是一種先進先出的限制性結構,因此在STL中只

原创 string常見用法

string類型是對字符串常見的需求功能進行封裝,使得操作起來更加方便,且不易出錯。如果使用string需要增加string文件 string的定義 string str; 初始化 string str="abcd";

原创 stack常見用法

stack翻譯爲棧,是STL中實現的一個後進後出的容器,要實現stack,要先添加頭文件#include<stack> 定義: stack<typename> name; stack容器內元素訪問,由於棧本身是一種後進先出的結構

原创 單鏈表刪除最小值結點算法實現

單鏈錶帶頭結點,刪除一個最小值點,,此題在輸出方面糾結了很久,所幸得到大佬指點迷津 以下是代碼 #include<cstdio> #include<stdlib.h> typedef struct LNode { int da

原创 (Pat甲)1060 Are They Equal

題目要求將兩個數改寫爲科學計數法的形式,然後判斷它們是否相等。而科學計數法的寫法一定爲0.a1a2…*10^e,只需要獲取科學計數法的本體部分a1a2…與指數e即可判定兩個數在科學計數法下是否相等(按有效數爲3進行)。應當按整數部