原创 【MySQL】基本SQL語句

DDL: 庫 創建庫:create database dataname; eg. create database 軟工1601班; 刪除庫:drop database databasena

原创 【C語言】關於子函數調用的指針傳遞和解引用問題

首先以一段示例代碼begin: #include<stdio.h> void Swap(int a,int b) { int tmp = a; a = b; b = tmp; } int main() { int a

原创 Go語言基礎之運算符

1. 算數運算符 運算符 描述 + 相加 - 相減 * 相乘 / 相除 % 取餘 注意事項:自增(++)和自減(–)是表達式,不是運算符 2. 關係運算符 運算符 描述 == 判

原创 Go語言基礎之變量與常量

關鍵字 Go語言中有25個關鍵字 break default func interface select case defer go

原创 算法之冒泡排序

本博客只是單純的冒泡算法,沒有對其進行優化;這裏就不敘述思路了,直接開始代碼: #include<stdio.h> void Swap(int*a, int*b) //交換函數 { int tmp = 0; tmp = *a

原创 求一個整數的位數,順序輸出,逆序輸出

題目如下: 先說一下思路:一個整數n求位數,首先申請一個無符號char類型做計數器(最大的整數十位,無符號char類型做計數器可以滿足),然後n /= 10,丟掉最後一位,計數器加1,最後可得到位數,代碼如下: unsi

原创 C和C++中的staic

首先解釋一下數據和指令: 數據:全局變量,靜態變量,這倆種數據通常存放在(.data)段或者(.bss)段, - <1>(.data)段存放已初始化的全局變量和靜態變量,全局變量分爲普通全局變量和靜態全局變量,靜態變量又分爲局

原创 算法之二分查找

首先說一下二分查找的條件:必須是有序的一組數據。 好了直接開始! int BinarySearch(int* arr, int len, int key) { if (NULL == arr || len < 0) ret

原创 【C語言】指針總結

指針是什麼? 內存區的每一個字節有一個編號,這就是“地址”,它相當於房間號。由於通過地址能找到所需的變量單元,我們可以說,地址指向該變量單元。指針就是地址。 int main() { int a = 10;

原创 堆和棧的區別

堆棧的區別要從虛擬地址空間說起,在虛擬地址空間的佈局中,有(.text)段、(.data)段、(.bss)段、堆、棧、命令行參數、環境變量等,如圖所示 從圖中可以看出,堆棧是倆快完全不不同的內存。 棧內存是由操作系統分配和釋放的

原创 gcc與g++的區別

gcc和g++都是編譯器,可以編譯(.c)和(.cpp)文件,但是倆者也有不同: gcc可以編譯(.c)和(.cpp)文件,(.c)文件按照C語言的規則處理的,(.cpp)文件按照C++規則處理的,但是默認的情況下,gcc不鏈接

原创 劍指offer之將偶數置於奇數的前面

題目:輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位於數組的前半部分,所有的偶數位於數組的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 解題思路:重新創建一個新數組,然後順序遍歷原數組,找

原创 劍指offer之二叉樹的層次遍歷

題目:從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 解題思路:創建一個隊列,先將二叉樹的根節點放入隊列中,然後開始循環,只要隊列不爲空,獲取隊列的第一個元素,將其保存爲一個節點tmp,,接着將其push_back到新數

原创 劍指offer之鏈表中環的入口結點

題目:給一個鏈表,若其中包含環,請找出該鏈表的環的入口結點,否則,輸出null。 解題思路:定義倆個快慢指針,同時指向鏈表的頭指針,快指針每次走倆步,慢指針每次走一步,當快慢指針相遇的時候,此時證明鏈表中有環,然後將快指針指向頭

原创 【Linux網路】TCP和UDP

一、TCP連接和斷開連接的過程 1.連接過程: (1)第一次握手:客戶端向服務器端發送請求連接報文SYN,然後進入SYN_SENT狀態,即已發送狀態。 (2)第二次握手:服務器端收到客戶端發的SYN報文後,發送ACK進行確認,