Time of Update: 2018-12-04
/*17-8-09-11-21.20.h -- 第十七章第八題 */#ifndef LAST_H_#define LAST_H_#define ADD_AN_ITEM 1#define SIZE 20/*定義資料類型*//*Name_And_Pet 暴露給使用者的資料類型*/typedef struct name_and_pet{char petname[SIZE] ;/*寵物名*/char petkind[SIZE] ;/*寵物種類*/} Name_And_Kind ;typedef
Time of Update: 2018-12-04
/*PairingHeap.c -- 配對堆實現檔案*/#include "PairingHeap.h"/*全域變數聲明*/static Node * NullNode = NULL ;/*局部函式宣告*/static Node * compareAndLink_P (Node * const first, Node * const second) ;static Node * makeNode_P (const Item item) ;static Node *
Time of Update: 2018-12-04
Time of Update: 2018-12-04
最近剛開了這個部落格,人家說要做好開源就一定要經常記筆記,寫部落格,將資料拿出來大家分享,最近正好在學習linux驅動,把這個拿出來寫寫,望大家指點。 關於i2c_davinci.c檔案:位於drivers/i2c/busses/目錄下開頭一大堆的define,看這部分:#define DAVINCI_I2C_OAR_REG 0x00#define DAVINCI_I2C_IMR_REG 0x04#define DAVINCI_I2C_STR_REG 0x0
Time of Update: 2018-12-04
1,動態儲存裝置方式與靜態儲存方式①區別與聯絡區別:局部變數與全域變數是從範圍的角度對變數類型的劃分,而靜態儲存方式以及動態儲存裝置方式則是從變數存在的時間,即生存期角度對變數類型的劃分。前者從空間的角度入手,後者從時間的角度入手。聯絡:兩者相互交織,一起結合來刻畫變數的類型。②定義:靜態儲存方式:程式運行期間由系統分配固定的儲存空間的方式。動態儲存裝置方式:程式運行期間根據需要進行動態分配儲存空間的方式。③鋪墊使用者區分為:程式區、靜態儲存區、動態儲存裝置區。資料分別存放在靜態儲存區與動態儲存
Time of Update: 2018-12-04
話說這個東西原本以為很快就會寫好,即使是前天才看是看的.實現部分用的就是一個表和size個鏈表.可事實上我寫了不下8小時...寫完了就好啊,不然我會很鬱悶呢. 主要卡殼的地方就是定義資料類型的時候,我反反覆複更改了不下五遍.不想回憶起那些錯誤的行為,我想把我實現的思想說出來來協助自己強化記憶. 分離連結散列表用來解決衝突的問題,一旦發生衝突時就可以把資料放入相應索引指標指向的鏈表中.
Time of Update: 2018-12-04
int Insert (Tree * const ptree, const Item * const pitem){Node * new_node ;Node * parent, * scan = *ptree ;if (NULL == (new_node = Make_Node (pitem)))return 0 ;if (TreeIsEmpty (ptree)){*ptree = new_node ;(*ptree) -> left = NULL ;(*ptree) ->
Time of Update: 2018-12-04
Tree generate_ideal_binary_search_tree (const int height, int * const assigned_min){Tree tree ;if (height >= 0){tree = (Node *) malloc (sizeof (Node)) ;tree -> left = generate_ideal_binary_search_tree (height - 1, assigned_min) ;tree ->
Time of Update: 2018-12-04
/* AVLTree.c -- AVL樹實現檔案*/#include <stdio.h>#include <stdlib.h>#include "AVLTree.h"/*局部函式宣告*/static int Left_Above_And_Beyond_Right (const Item left, const Item right) ;static int Left_Is_Less_Than_Right (const Item left, const Item
Time of Update: 2018-12-04
學樹第四天,第一課伸展樹.寫了8小時,好睏啊.感覺真好.寫完自己又讀了一遍,記下了. 貼出來,還希望有人願意跟我交流./* splay_tree.c -- 伸展樹實現檔案*/#include <stdio.h>#include <stdlib.h>#include "splay_tree.h"/*局部資料類型定義*/typedef Position Stack_Item ;typedef struct stack_node{Stack_Item item
Time of Update: 2018-12-04
/*open_addressing_hash.c -- 開放定址散列表實現檔案*/#include <stdio.h>#include <stdlib.h>#include "open_addressing_hash.h"/*局部資料類型定義*/struct apple/*我實在想不出別的名字了*/{int full ;int value ;} ;/*局部函數定義*/int Get_Prime_Value (const int size) ;int
Time of Update: 2018-12-04
/*open_addressing_hash_with_hashing_again.c -- 開放定址散列表線性探測法可再散列實現檔案*/#include <stdio.h>#include <stdlib.h>#include "open_addressing_hash_with_hashing_again.h"/*局部函式宣告*/static int Get_Prime_Value (const int size) ;static int Is_A_Prime
Time of Update: 2018-12-04
/*Uiversal_queue.c -- 隊列實現檔案*/#include "Uiversal_queue.h"/*Proclaim local functions*/static Node * makeNode (const Item * const pi) ;/*Define interface functions*/Bool Initialize_Q (Queue * const pq){*pq = (struct queue *) malloc (sizeof (struct
Time of Update: 2018-12-04
排序的穩定性,是指排序前後,相同元素的位置先後關係是否改變.穩定排序,是位置先後關係不變.不穩定排序,是先後位置關係改變,當然,也存在不改變的可能.更說明了他的不穩定.可笑吧?哈哈... <<AtA>>的一道課後習題,問了幾種常見排序的穩定性問題,以及如何將不穩定排序改為穩定排序.為了探尋這個問題,我決定動手寫出這些排序.這是昨天的事,昨天開始寫的.到現在寫完了,中途幹了許多別的事情. 還是第一次,默寫這些個排序.收穫很多,可以說,最起碼克服了默寫這些排序的恐懼.
Time of Update: 2018-12-04
這個東西,是接著上一篇的尋找矩陣乘法順序的一個實現.這個類,可以接受輸入,並且計算出最終結果. 因為最近在學習C++,所以理所當然地把這個東西寫成了類,而且是模板方式實現的.確實非常整潔.//matrix.h#ifndef MATRIX_H_#define MATRIX_H_#include <iostream>template<class T> class Matrix{private:T * * m_matrix ;int m_x, m_y ;long
Time of Update: 2018-12-04
/*9-18(b)-12-19-00.49.c -- 第九章第十八題*/#include <stdio.h>#include <stdlib.h>#include "binary_heap_for_kruskal.h"#include "disjiont_set.h"#define SIZE (10)int main (void) ;void kruskal (const Adjacenty_List * const padj, const Hash_Table *
Time of Update: 2018-12-04
/*adjacenty_list.c -- 鄰接表實現檔案*/#include <stdio.h>#include <stdlib.h>#include "adjacenty_list.h"/*局部函式宣告*/Vertex * Make_Vertex (const Name vertex) ;/*介面函數定義*/int CreateAdjacent_List (Adjacent_List * const padj, const int capacity){int
Time of Update: 2018-12-04
/*new_adjacenty_list.c -- 鄰接表實現檔案*/#include <stdio.h>#include <stdlib.h>#include "new_adjacenty_list.h"/*局部函式宣告*/static Adjoin_To_Vertex * Make_Adjoin_To_Vertex (const Hash_Table * const pht, const Name name, const int cvw)
Time of Update: 2018-12-04
/*9-10(b)-12-13-20.26.c -- 第九章第十題(b)*/#include <stdio.h>#include <stdlib.h>#include "binary_heap.h"int main (void) ;int new_dijkstra (const Adjacenty_List * padj, const Hash_Table * const pht, const int start) ;int main
Time of Update: 2018-12-04
起初選擇使用ADT的操作來實現分配儲存空間.後來發現.這樣做,問題很多,以至於分析了一會沒有分析出什麼結果.索性直奔問題了,我的思想是好的,我承認. 上代碼./*DisjiontADT.c -- 不相交集合實現檔案*/#include <stdio.h>#include <stdlib.h>#include "DisjiontADT.h"/*介面函數定義*/void InitializeAsHeight (DisjiontSet gather, const int