//
// 檔案:config.h
//#ifndef __config_h
#define __config_h
#ifndef true
#define true 1
#endif
#ifndef false
#define false 0
#endif
typedef unsigned char uint8;
typedef signed char int8;
typedef unsigned short uint16;
typedef signed short int16;
typedef unsigned int uint32;
typedef signed int int32;
typedef float fp32;
#include "fifoqueue.h"
#endif
//// 檔案:fifoqueue.h
//#ifndef _fifoqueue_h
#define _fifoqueue_h
#define elemtype uint8
#define queuesize 20 //fifo佇列的大小
#define queuefull 0 //fifo滿置0
#define queueempty 1 //fifo空置1
#define queueoperateok 2 //佇列操作完成 賦值為2
struct fifoqueue
;//queue initalize
void queueinit(struct fifoqueue *queue);
// queue in
uint8 queuein(struct fifoqueue *queue,elemtype sdat);
// queue out
uint8 queueout(struct fifoqueue *queue,elemtype *sdat);
#endif
//// 檔案:fifoqueue.c
//#include "config.h"
//queue init
void queueinit(struct fifoqueue *queue)
// queue in
uint8 queuein(struct fifoqueue *queue,elemtype sdat) //資料進入佇列
else
}// queue out
uint8 queueout(struct fifoqueue *queue,elemtype *sdat)
else
} //// 檔案:main.c
將陣列臆想為首位相連的記憶體,圖c是空佇列,對頭和隊尾都指向同乙個位置並且元素個數=0.
圖a是隊尾已經繞完一圈陣列回到陣列起點,隊頭已經輸出了陣列中的j0,j1,j2的資料
圖b是滿佇列,對頭和隊尾都指向同乙個位置並且元素個數=queuesize.
最通俗的理解:把尾rear隊尾理解為分針,把font隊頭理解為時針,分針總是跑的比時針快,只有分針跑了(fifo中有資料),時針隊頭才有資料輸出。
字典樹 陣列方式實現
在詞典中查詢某個單詞時,例如 boy,我們會先找到 b 然後找到 o 最後找到 y 這個過程的時間複雜度是 o m m 為單詞的長度。字典樹是模擬這個過程的資料結構,十分高效。例如儲存 do,dog,boy,bob,結構如下 可以看見,公共字首僅儲存了一遍 字典樹在空間上的效率也很高。但若用本身的結...
用陣列方式 實現獲取class屬性物件
用陣列方式 實現獲取class屬性物件 var get byclass function sclass,oparent bytagname function elem,obj 1.獲取id元素 2.獲取obj下所有elem標籤 如果沒有obj則取所有elem標籤 3.1定義乙個空陣列aclass 3...
陣列方式進行表單提交
今天遇到乙個問題,要儲存很多表單資訊,苦惱了許久,終於發現乙個挺不錯的方法,以陣列的形式把表單中的資料提交至後台進行儲存。其實實現起來很簡單,就是給表單中要提交的資訊的name命名時要有一定的規範,我們先比較下下面這兩種方式的差別 第一種 普通的方式,每個要提交的值都有乙個名稱 服務 index.p...