原创 C++編程規範(參考華爲編程規範)

第八章新增 8、類型轉換 使用C++風格的類型轉換,而不是C語言的類型轉換 8.1、static_cast     和C風格轉換相似可做值的強制轉換。     上行轉換(把派生類的指針或引用轉換爲基類的指針或引用),該轉換經常用於消除多重

原创 二叉樹遍歷

今天來介紹下二叉樹的4種遍歷方式,如果對二叉樹不熟悉的話,請先去本系列二叉樹的介紹中先學習。   遍歷:單鏈表的遍歷是指從第一個結點開始(下標爲0的結點),按照某種次序依次訪問每一個結點。            二叉樹的遍

原创 數據結構(棧--兩個隊列實現)

       當看到用兩個棧實現隊列以後,大家有沒有興趣用兩個隊列實現一個棧呢,呵呵!現在就來介紹用兩個隊列實現一個棧。               如圖 這裏介紹隊列的常用操作: l 創建棧

原创 C語言單鏈表的3種排序算法,插入排序,冒泡排序,選擇排序

//插入排序 stu *view_sort_math(stu *head)   {       struct student *first;     struct student *t;       struct studen

原创 數據結構(隊列--兩個棧實現)

  單純的用線性表或者單鏈表實現隊列已經不足爲奇,現在給大家介紹個有特色的,用兩個棧實現隊列。  如圖     這裏介紹隊列的常用操作: l 創建隊列 l 銷燬隊列 l 清空隊列 l 入隊

原创 數據結構之二叉樹

        既然樹已經熟悉了,那我們就來學習學習二叉樹吧,二叉樹是由n(n>=0)個結點組成的有限集合,該集合或者爲空,或者是由一個根結點加上兩棵分別稱爲左子樹和右子樹的﹑互不相交的二叉樹組成。         

原创 Linux系統調用實現文件複製

#include <stdio.h> #include <fcntl.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> int main(in

原创 進程間通信

 程序員必須讓擁有依賴關係的進程集協調,這樣才能達到進程的共同目標。可以使用兩種技術來達到協調。第一種技術在具有通信依賴關係的兩個進程間傳遞信息。這種技術稱做進程間通信(interprocess communication)。

原创 尼科徹斯定理

驗證尼科徹斯定理,即:任何一個整數的立方都可以寫成一串連續奇數的和。 *問題分析與算法設計本題是一個定理,我們先來證明它是成立的。對於任一正整數a,不論a是奇數還是偶數,整數(a×a-a+1)必然爲奇數。 a×a-a+1 = (a-1)x

原创 進程與線程的區別關係

1.定義 進程是具有一定獨立功能的程序關於某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位. 線程是進程的一個實體,是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基

原创 無名管道pipe的使用

有名管道pipe函數:int pipe(int filedes[2]); 下面程序通過創建進程,父進程寫入數據,子進程讀取數據,從管道中讀取數據。 #include <stdio.h> #include <stdlib.h> #

原创 庫函數實現文件複製

#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char *ptr; if (argc != 3) {

原创 Linux下的延遲函數sleep()

Linux下c語言中的延遲函數sleep()的用法 #include <stdio.h> int main() { printf("hello\n"); sleep(1); //延遲1秒 p

原创 C語言趣味程序設計編程百例精解

C/C++語言經典、實用、趣味程序設計編程百例精解(1)  1.繪製餘弦曲線 在屏幕上用“*”顯示0~360度的餘弦函數cos(x)曲線 *問題分析與算法設計 如果在程序中使用數組,這個問題十分簡單。但若規定不能使用數組,問

原创 SQL數據庫基本操作

一、數據庫及數據庫表定義   1、創建基本表     create table <表名> (<列名><數據類型>[列級完整性約束條件]