原创 MySQL入門2——對數據表中記錄的操作

上文着重講了一些數據庫的基本數據類型,以及對於數據庫的一些操作。本文主要講一些對錶數據的操作。 1、插入表數據 語句:INSERT [INTO] tbl_name [(col_name,…) VALUES ({expr | D

原创 進程通信2——共享內存,信號量

共享內存: 共享內存是被多個進程共享的一部分物理內存。共享內存是進程間共享數據的一種最快的方法,一個進程向共享內存區域寫入了數據,共享這個內存區域的所有進程就可以立刻看到其中的內容。 創建共享內存分爲兩步: 1、創建共享內存

原创 JavaScript 字符串操作

concat方法 concat方法可用於拼接字符串 let a = "hello" let b = a.concat(" world") console.log(b) //"hello world" slice方法 slice方

原创 二叉樹3——三種遍歷(遞歸方法)

遍歷即將樹的所有結點訪問且僅訪問一次。按照根節點位置的不同分爲前序遍歷,中序遍歷,後序遍歷。 前序遍歷:根節點->左子樹->右子樹 中序遍歷:左子樹->根節點->右子樹 後序遍歷:左子樹->右子樹->根節點 用遞歸方法實現三

原创 文件系統編程——基礎知識

1、系統調用:所有的操作系統都提供多種服務的入口點,程序由此向內核請求服務。這些可直接進入內核的入口點被稱爲系統調用。 2、操作系統提供的服務:進程控制、文件系統控制、內存管理、網絡管理、用戶管理、進程間通信。 在Linux中,

原创 排序1——冒泡,選擇排序

所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。排序算法,就是如何使得記錄按照要求排列的方法。排序算法在很多領域得到相當地重視,尤其是在大量數據的處理方面。一個優秀的算法可以節省大量的資源。

原创 MySQL入門1——數據類型和簡單數據表操作

MySQL是一種關係數據庫管理系統,關係數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。 MySQL所使用的 SQL 語言是用於訪問數據庫的最常用標準化語言。MySQL 軟件採用了

原创 進程通信3——消息隊列,信號通信

消息隊列就是一個消息的鏈表。可以把消息看作一個記錄,具有特定的格式。 進程可以向其中按照一定的規則添加新消息;另一些進程則可以從消息隊列中讀走消息。 消息隊列的內核持續性要求每個消息隊列都在系統範圍內對應唯一的鍵值,所以,要獲

原创 排序2——插入,希爾排序

繼續上文講排序的方法 插入排序: void insert_sort(int *a, int len) { int i,j,get; for(i = 1; i < len; i++) {

原创 進程通信1——管道通信

管道是單向的、先進先出的,它把一個進程的輸出和另一個進程的輸入連接在一起。一個進程(寫進程)在管道尾部寫入數據,另一個進程(讀進程)從管道的頭部讀出數據。 兩個程序之間傳遞數據的一種簡單方法是使用popen和pclose。 #i

原创 進程控制3——進程終止和等待

一個進程不可能永遠的存在,必然存在着結束,我們需要進行一些操作來終止這些進程。而父進程創建子進程後,如何知道子進程什麼時候終止?如何知道子進程怎麼終止?所以又帶來了進程等待的問題。 下面先將一些關於進程終止 的函數, exit,

原创 前期學習應用——小練習:通訊錄

通過前期的學習,對幾種數據結構有了一些瞭解,所以決定做一個小練習,鞏固一下前期所學的知識。 這個通訊錄比較原始,功能比較簡單,可以進行添加,刪除,查看,搜索用戶功能,主要是在鏈表中進行的操作,數據也都是存放在鏈表中,後來在學習了

原创 二叉樹2——刪除節點與求度,高度

本文繼續講一些關於二叉樹的操作 首先是刪除: int Delete (BTree *tree, int pos, int count) { if (tree == NULL) return FALSE;

原创 MySQL入門3——約束及修改數據表

本文其實應該寫在前一篇之前的,但之前寫了就寫了吧,本文主要將一些對約束和數據表的一些操作。 首先講下如何創建一個數據列以及如何刪除它吧 比如添加一個單列: ALTER TABLE user ADD age TINYINT NO

原创 進程控制2——幾個簡單API

本文接着上文接着講一些關於進程控制的知識,上文更多的講的是一些基礎知識,本文將講一些與進程控制相關的函數。 進程創建fork() fork()函數可以用來創建一個子進程,它被調用一次,卻返回兩次,它可能有三種不同的返回值:在父進