原创 C語言-可變參數列表的解析

C語言中的可變參數的實現是將函數實現爲可變參數的形式,可以使得函數可以接受1個以上任意多個參數重點內容 例子:實現一個函數可以求任意個參數的平均值 #include<stdio.h> #include<stdarg.h> int

原创 C++中繼承的總結

一. 繼承的概念 繼承機制是面向對象程序設計使代碼可以複用的最重要的手段,它允許程序員在保持原有類特性的基礎上進行擴展,增加功能。這樣產生新的類,稱爲派生類。繼承呈現了面向對象程序設計的層次結構,體現了由簡單到複雜的認知過程。通過

原创 C++中多態總結

一. 多態的概念 同一事物,在不同場景下的多種形態 例如:“*”在不同場景下的形態 int* p=&a;//指針 *p;//解引用 a*b;//乘號 二.多態的分類 1.靜態多態:編譯器在編譯期間完成的,編譯器根據函數實參的

原创 自我介紹

  我是西安工程大學軟件工程專業的學生,馬上就要步入大三生活了,通過在校的兩年時間裏我學習了,C語言,java等編程語言。對軟件開發懷有濃烈的興趣,並且不斷學習新技術來繼續豐富自已的知識。   在學校的這兩年我也學到了一些編程知識,但這點

原创 C++實現紅黑樹

一. 紅黑樹的概念:        紅黑樹是一棵二叉搜索樹,它在每個結點上增加了一個存儲位來表示結 點的顏色,可以是red或者black,通過對任何一條從根節點到葉子結點簡 單路徑上的顏色來約束,紅黑樹保證最長路徑不超過最短路徑的兩倍,因

原创 C++實現容器中的map

C++中map是根據紅黑樹來實現的 map的作用: 自動建立Key - value的對應。key 和 value可以是任意你需要的類型。  根據key值快速查找記錄,查找的複雜度基本是Log(N),如果有1000個記錄,最多查找10次,1

原创 C++ 最小堆的實現及基本操作

一.創建最小堆: template<class T> class Heap{ public: Heap() {} Heap(const T* array,size_t size) { v.resize(size); fo

原创 C++實現AVL樹的左單旋,右單旋,左右雙旋,右左雙旋

一. AVL樹的概念: 一棵AVL樹或者是空樹,或者是具有以下性質的二叉搜索樹:   1、它的左右子樹都是AVL樹 ; 2、左子樹和右子樹高度之差(簡稱平衡因子)的絕對值不超過1(-1、0、1); 二. 平衡化旋轉: 如果在一棵原本是平衡

原创 線索化二叉樹,前序中序後序遍歷(遞歸和非遞歸實現)

#include<iostream> #include<string.h> using namespace std; enum PionerInfo { LINK,THREAD }; template<class T> struc

原创 C++遞歸及非遞歸實現二叉搜索樹的創建,插入,查找,刪除

一.非遞歸實現二叉搜索樹的插入,查找,刪除 #include<iostream> using namespace std; template<class T> struct BSTreeNode{ BSTreeNode<T>* _p

原创 二叉樹的基本操作,以及相關面試題(C++實現)

【面試題】 1、創建二叉樹 #include<iostream> using namespace std; template<class T> struct BinTreeNode{ BinTreeNode(const T& dat

原创 C++實現日期類

#include<iostream> using namespace std; class Date{ public: Date(int year=1996,int month=7,int day=30) : _year(yea

原创 C++數據結構中算法的使用

一.時間複雜度:時間複雜度其實就是一個函數進行運算時執行的基本操作的次數;運算分類的分析:1.最壞的情況:任意輸入規模的最大次數;2.平均情況:任意輸入規模等與平均次數;3.最好的情況:任意輸入規模的最少次數;當然在實際情況下我們通常考量

原创 C++中智能指針解析

一. 智能指針簡介 由於 C++ 語言沒有自動內存回收機制,程序員每次 new 出來的內存都要手動 delete。程序員忘記 delete,流程太複雜,最終導致沒有 delete,異常導致程序過早退出,沒有執行 delete 的情況並不罕

原创 Linux中信號的使用

什麼是信號信號是硬件終端的軟件模擬,用來表示程序運行中發生的各種事件。如何主動的發送信號使用kill命令使用kill函數使用alarm()向調用進程發送SIGALRM信號如何捕獲信號一般的捕獲信號的步驟是:創建一個信號集合向信號集合中添加