原创 計算兩個日期之間,相差多少天。C語言

問題描述:如2010-03-20與2020-03-20,相差3653天。 方法描述:分別計算兩個時間點距離0000-00-00時的天數,然後取差值 編譯環境:vc++6.0 代碼: #include <stdio.h> #incl

原创 單鏈表的基本操作C語言詳解

1. 單鏈表:單鏈表是一種鏈式存取的數據結構,用一組地址任意的存儲單元存放線性表中的數據元素。 2. 頭指針:不是頭結點的指針,是指向頭結點的指針,無論鏈表是否爲空,頭指針均不爲空。 3. 頭結點:放在第一個結點之前的結點(“零結

原创 圖的鄰接表的實現C語言

實現如圖鄰接表: 共4個頂點,v0,v1,v2,v3; 共5條邊:arc[0][1],arc[0][2],arc[0][3],arc[2][1],arc[2][3]。 令4個頂點值分別爲,a,b,c,d; 編譯環境vc6.0,代

原创 鏈棧的基本操作C語言詳解

1. 帶頭結點和不帶頭結點的鏈棧實現方式不同,我這裏是不帶頭結點的鏈棧。 2. 頭指針(Lhead):不是頭結點的指針,是指向頭結點(首元結點)的指針,無論鏈棧是否爲空,頭指針均存在。 3. 二級指針:指向指針變量的指針。 4.

原创 圖的BFS(廣度優先)實現C語言

實現如圖(鄰接矩陣)的BFS 核心代碼: void BFStraverse(MGraph G) { int i, j; SqQueue Q; //輔助隊列 for (i = 0; i < G.numVer

原创 順序棧的9大基本操作C語言詳解

有些書,top=0時表示空棧,有些書top= -1時表示空棧,我這裏參考嚴蔚敏老師一書top=0時爲空棧。 有些書,棧非空時top指向棧頂元素,有些書非空時top指向棧頂元素的下一個位置,我這裏參考嚴蔚敏老師一書,top指向棧頂

原创 圖的鄰接矩陣實現C語言

實現如圖鄰接矩陣: 編譯環境:vc6.0,代碼如下 /* 頂點數據類型爲char,邊上權值類型爲int */ #include <stdio.h> #include <stdlib.h> #define MAXVEX 100

原创 快速排序C語言

學習筆記 編譯環境;vc6.0 #include <stdio.h> //*********************快速排序****************** int Partition(int a[], int low, i

原创 直接插入排序C語言

編譯環境:vc6.0 /* 類似於撲克牌,摸牌和整理牌的過程 給數組a[]排序,a[0]空着,作爲整理牌時的臨時存儲空間,類似於swap裏面的temp; 第一張牌存放到a[1],若第二張牌a[2]比a[1]小,將a[2]存放到臨時

原创 簡單選擇排序C語言

學習筆記 編譯環境:vc6.0 #include <stdio.h> //*******************交換數組a,下標爲i,j的值****************** int swap(int a[], int i,

原创 拓撲排序C語言

1. 拓撲排序是對有向無環圖的操作。 2. 如果有環,則會出現,沒有入度爲0的點的情況,如圖。任務之間相互等待。 3. 逐步輸出入度爲0的點,當入度爲0的點有多個時,隨意輸出。 4. 建立一個棧的輔助空間,存放入度爲0的點,避免

原创 順序隊列的基本操作C語言詳解

邏輯存儲結構如圖: 編譯環境:vc6.0,代碼如下 /* 隊頭指針指向對頭元素,隊尾指針指向隊尾元素的下一個位置。 初始狀態(隊空狀態)Q.front==Q.rear==0 隊滿狀態:Q.rear==MaxSize(可能是假滿)