原创 【數據結構】七大排序算法

一.常見排序算法 插入排序 1.直接插入排序 2.希爾排序 選擇排序 3.選擇排序 4.堆排序 交換排序 5.冒泡排序 6.快速排序 歸併排序 7.歸併排序 二.插入排序 1.直接插入排序 時間複雜度:O(N^2) 空間複雜

原创 【Linux】Vim編譯器的使用方法

一.如何進入(有點沙雕,我一開始都不知道) 直接在linux系統下輸入vi 【文件名】指令即可進入。 如:vi a.txt 二.vim編譯器的三種工作模式 命令模式(一開始進入的界面即是命令模式) 編輯模式(鍵盤輸入i進入編輯模

原创 【Linux】環境變量相關

一.基本概念 環境變量(environment variables)一般是指在操作系統中用來指定操作系統運行環境的一些參數 如:我們在編寫C/C++代碼的時候,在鏈接的時候,從來不知道我們的所鏈接的動態靜態庫在哪裏,但是照樣可以

原创 【Linux】常見指令總結(一)

一.ls指令 語法: ls [選項][目錄或文件] 功能:對於目錄,該命令列出該目錄下的所有子目錄與文件。對於文件,將列出文件名以及其他信息。 常用選項: ls [path] ls c/bite 列出指定目錄下所有文件。

原创 【C++】list的模擬實現

1.代碼 #include<iostream> #include<vector> using namespace std; namespace zz { template<class T> struct Node { Node

原创 【C++】list應用

一.list的底層結構 帶頭結點的雙向循環鏈表 二.功能應用 1 構造函數 //構造函數 list<int> l1; //空 list<int> l2(10, 5); //放置10個5 vector<int> v

原创 【c++】模板之(非)類型模板參數

一.模板參數 類型模板參數: 出現在模板參數列表中,跟在typename/class後的參數。 非類型模板參數:用一個常量作爲模板的一個參數。可以將該參數當做常量來使用。 二.舉例 定義一個模板類型的靜態數組空間類。 te

原创 【C++】智能指針詳解

智能指針:將對內存的管理交付給對象,當對象析構時就能夠清理資源,有效的避免內存泄露問題。(因爲原生態指針(T*)管理資源時,若用戶忘記釋放內存,則可能會導致資源泄露。) 下面介紹四種智能指針 頭文件均爲#include< mem

原创 【Linux】編譯器gcc及調試器gdb

還沒寫完!!!!!!!!! 一.程序的執行過程 1 預處理(進行宏替換) 2 編譯(生成彙編) 3 彙編(生成機器可識別代碼) 4 連接(生成可執行文件或庫文件) 二.Linux編譯器gcc使用 1.格式 :gcc [選項]

原创 【Linux】centos7連接xshell所需ip地址查詢

1.輸入ip查詢命名 ip addr 此命令會出現3個條目,centos的ip地址是ens33條目中的inet值。 會發現 ens33 沒有 inet 這個屬性,那麼就沒法通過IP地址連接虛擬機。 2.接着來查看ens33網卡

原创 【數據結構】C++實現(一)

一.順序表 用數組實現。尾插尾刪較容易,頭插頭刪需使用循環平移元素。 注意插入元素時判斷容量,以及擴容方式。 #include<iostream> using namespace std; #define SIZE 10 te

原创 【Linux】常見指令總結(三)

一.more指令 語法:more [選項][文件] 功能:more命令,功能類似 cat 常用選項: -n 對輸出的所有行編號 q 退出more more b.txt 二.less指令 less 工具也是對文件或其它輸出進

原创 【Linux】基礎IO

一.系統所提供的IO接口 1.open() #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname

原创 【Linux】進程控制

一.進程創建 在linux中利用fork函數創建子進程,它從已存在進程中創建一個新進程。新進程爲子進程,而原進程爲父進程。 詳悉fork()函數 從已存在進程中創建一個新進程。新進程爲子進程,而原進程爲父進程。 #includ

原创 【Linux】常見指令總結(二)

一.cp指令 語法:cp [選項] 源文件或目錄 目標文件或目錄 功能: 複製文件或文件夾 說明: cp指令用於複製文件或目錄,如同時指定兩個以上的文件或目錄,且後的目的地是一個已經存在的目錄, 則它會把前面指定的所有文件