這是我第一次自己寫佇列,以前都是看linux核心原始碼中的佇列,看得多寫得少,現在的驅動基本不需要自己寫太多**,只需要你懂原理會修改就ok。
好了廢話不多說我們進入正題吧!
下面是我寫的兩個**,乙個是數字的另乙個是字串的:
一.數字或字元型
#pragma once
#include "stdafx.h"
#include "iostream"
//佇列的最大資料長度
#define maxsize 4096
typedef char elemtype;
//佇列的資料單元
typedef struct sqqueue;
//初始化佇列 void init_jstrqueue(sqqueue &jstrqueue)//銷毀佇列void destroy_jstrqueue(sqqueue &q)}//清空佇列void clear_jstrqueue(sqqueue &q)//判斷佇列int isempty_jstrqueue(sqqueue
&q)//判斷佇列int isfull_jstrqueue(sqqueue &q)//獲取佇列長度int getlength_jstrqueue(sqqueue &q)//取得佇列的的隊頭void gethead_jstrqueue(sqqueue &q,elemtype
*x) else}//取得佇列的的隊尾void getrear_jstrqueue(sqqueue &q,elemtype *x) else}//插入佇列void en_jstrqueue(sqqueue &q,elemtype x) else }//出佇列void de_jstrqueue(sqqueue &q,elemtype *x) else }//列印佇列void print_jstrqueue(sqqueue &q)sqqueue;
//初始化順序佇列(迴圈佇列) init_sqqueue();
void init_sqqueue(sqqueue &jstrqueue)
//銷毀順序佇列(迴圈佇列)destroy_sqqueue(sqqueue* q);
void destroy_sqqueue(sqqueue &q)
}//清空順序佇列(迴圈佇列)clear_sqqueue(sqqueue* q);
void clear_sqqueue(sqqueue &q)
//判斷順序佇列(迴圈佇列)是否為空isempty_sqqueue(sqqueue* q)
int isempty_sqqueue(sqqueue &q)
//判斷順序佇列(迴圈佇列)是否已滿 isfull_sqqueue(sqqueue* q);
int isfull_sqqueue(sqqueue &q)
//求得順序佇列(迴圈佇列)的長度getlength_sqqueue(sqqueue* q);
int getlength_sqqueue(sqqueue &q)
//取得順序佇列(迴圈佇列)的的隊頭gethead_sqqueue(sqqueue* q,elemtype *x);
void gethead_sqqueue(sqqueue &q,elemtype *x)
else }
//取得順序佇列(迴圈佇列)的的隊尾getrear_sqqueue(sqqueue* q,elemtype *x);
void getrear_sqqueue(sqqueue &q,elemtype *x)
else }
//入順序佇列(迴圈佇列)en_sqqueue(sqqueue* q,elemtype x);
void en_sqqueue(sqqueue &q,elemtype *x)
else
{ for(int i=0; i
vs2012在已有專案上生成和使用dll動態鏈結庫
假設有兩個c 專案a b,並且都定義了很多的子函式,這些子函式之間呼叫關係複雜,如果b需要通過使用dll庫的方式呼叫a中的乙個子函式 或者多個 怎麼辦?假設a中定義了很多的子函式,其中有乙個子函式add,其函式宣告所在標頭檔案和函式定義所在原始檔分別為 add.h int add int a,int...
vs2012在已有專案上生成和使用dll動態鏈結庫
假設有兩個c 專案a b,並且都定義了很多的子函式,這些子函式之間呼叫關係複雜,如果b需要通過使用dll庫的方式呼叫a中的乙個子函式 或者多個 怎麼辦?假設a中定義了很多的子函式,其中有乙個子函式add,其函式宣告所在標頭檔案和函式定義所在原始檔分別為 add.h int add int a,int...
Kinect C 程式在vs2012下的配置
在vs2010上的配置大約是 a.在vs2010專案中,設定vc 目錄 包含目錄中加入 kinectsdk10 dir inc 庫目錄中加入 kinectsdk10 dir lib x86 b.新增特定庫 在鏈結器中設定附加依賴項,填入kinect10.lib c.標頭檔案包含 include in...