中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站三大標(biāo)簽優(yōu)化汕頭seo網(wǎng)站推廣

網(wǎng)站三大標(biāo)簽優(yōu)化,汕頭seo網(wǎng)站推廣,視頻制作專業(yè)軟件,武漢科技有限公司 網(wǎng)站建設(shè)目錄 2.隊(duì)列2.1隊(duì)列的概念及結(jié)構(gòu)2.2隊(duì)列的實(shí)現(xiàn)2.2.1 初始化隊(duì)列2.2.2 銷毀隊(duì)列2.2.3 隊(duì)尾入隊(duì)列2.2.4 隊(duì)頭出隊(duì)列2.2.5獲取隊(duì)列頭部元素2.2.6 獲取隊(duì)列隊(duì)尾元素2.2.7獲取隊(duì)列中有效元素個(gè)數(shù)2.2.8 檢測(cè)隊(duì)列是否為空,如果為空返回非零結(jié)果,如果非空返回0 3…

目錄

  • 2.隊(duì)列
    • 2.1隊(duì)列的概念及結(jié)構(gòu)
    • 2.2隊(duì)列的實(shí)現(xiàn)
      • 2.2.1 初始化隊(duì)列
      • 2.2.2 銷毀隊(duì)列
      • 2.2.3 隊(duì)尾入隊(duì)列
      • 2.2.4 隊(duì)頭出隊(duì)列
      • 2.2.5獲取隊(duì)列頭部元素
      • 2.2.6 獲取隊(duì)列隊(duì)尾元素
      • 2.2.7獲取隊(duì)列中有效元素個(gè)數(shù)
      • 2.2.8 檢測(cè)隊(duì)列是否為空,如果為空返回非零結(jié)果,如果非空返回0
  • 3.棧和隊(duì)列面試題
    • 3.1 括號(hào)匹配問(wèn)題。
    • 3.2用隊(duì)列實(shí)現(xiàn)棧。
    • 3.3 用棧實(shí)現(xiàn)隊(duì)列。
    • 3.4 設(shè)計(jì)循環(huán)隊(duì)列。

2.隊(duì)列

2.1隊(duì)列的概念及結(jié)構(gòu)

隊(duì)列:只允許在一端進(jìn)行插入數(shù)據(jù)操作,在另一端進(jìn)行刪除數(shù)據(jù)操作的特殊線性表,隊(duì)列具有先進(jìn)先出FIFO(First In First Out) 入隊(duì)列:進(jìn)行插入操作的一端稱為隊(duì)尾 出隊(duì)列:進(jìn)行刪除操作的一端稱為隊(duì)頭
在這里插入圖片描述

2.2隊(duì)列的實(shí)現(xiàn)

隊(duì)列也可以數(shù)組和鏈表的結(jié)構(gòu)實(shí)現(xiàn),使用鏈表的結(jié)構(gòu)實(shí)現(xiàn)更優(yōu)一些,因?yàn)槿绻褂脭?shù)組的結(jié)構(gòu),出隊(duì)列在數(shù)組頭上出數(shù)據(jù),效率會(huì)比較低。

在這里插入圖片描述

  • 隊(duì)列結(jié)構(gòu)
// 鏈?zhǔn)浇Y(jié)構(gòu):表示隊(duì)列
typedef struct QListNode
{ struct QListNode* _pNext; QDataType _data; 
}QNode; 
// 隊(duì)列的結(jié)構(gòu)
typedef struct Queue
{ QNode* _front; QNode* _rear; 
}Queue; 
  • 隊(duì)列接口
// 初始化隊(duì)列
void QueueInit(Queue* q); 
// 隊(duì)尾入隊(duì)列
void QueuePush(Queue* q, QDataType data); 
// 隊(duì)頭出隊(duì)列
void QueuePop(Queue* q); 
// 獲取隊(duì)列頭部元素
QDataType QueueFront(Queue* q); 
// 獲取隊(duì)列隊(duì)尾元素
QDataType QueueBack(Queue* q); 
// 獲取隊(duì)列中有效元素個(gè)數(shù)
int QueueSize(Queue* q); 
// 檢測(cè)隊(duì)列是否為空,如果為空返回非零結(jié)果,如果非空返回0 
int QueueEmpty(Queue* q); 
// 銷毀隊(duì)列
void QueueDestroy(Queue* q);
  • 在VS2022中新建一個(gè)工程

Queue20250310.h(隊(duì)列的類型定義、接口函數(shù)聲明、引用的頭文件)
Queue20250310.c(隊(duì)列的接口函數(shù)的實(shí)現(xiàn))
QueueTest20250310.c(主函數(shù)、測(cè)試各個(gè)接口功能)

2.2.1 初始化隊(duì)列

// 初始化隊(duì)列
void QueueInit(Queue* pq)
{assert(pq);pq->head = pq->tail = NULL;// 初始化隊(duì)列的頭指針和尾指針為NULpq->size = 0; // 初始化隊(duì)列的大小為0
}

2.2.2 銷毀隊(duì)列

// 銷毀隊(duì)列
void QueueDestroy(Queue* pq)
{assert(pq);QNode* cur = pq->head;// 定義一個(gè)指針指向隊(duì)列的頭節(jié)點(diǎn)while (cur)//遍歷隊(duì)列{QNode* next = cur->next;//找到當(dāng)前節(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)free(cur);cur = next;//繼續(xù)往后走}pq->head = pq->tail = NULL;// 將隊(duì)列的頭指針和尾指針置為NULpq->size = 0;//將隊(duì)列的大小置為0
}

2.2.3 隊(duì)尾入隊(duì)列

// 隊(duì)尾入隊(duì)列
void QueuePush(Queue* pq, QDataType data)
{QNode* newnode = (QNode*)malloc(sizeof(QNode));if (newnode == NULL){perror("QueueDestroy::malloc fail!");return;}newnode->data = data;// 將數(shù)據(jù)存入新節(jié)點(diǎn)newnode->next = NULL;// 將新節(jié)點(diǎn)的指針域置為NULLif (pq->head == NULL)// 如果隊(duì)列為空,則新節(jié)點(diǎn)即為隊(duì)列的頭指針和尾指針{assert(pq->tail == NULL);pq->head = pq->tail = newnode;}else //如果隊(duì)列不為空,則將新節(jié)點(diǎn)插入到隊(duì)列的尾部{//尾插pq->tail->next = newnode;pq->tail = newnode;}pq->size++;// 隊(duì)列的大小加1
}

2.2.4 隊(duì)頭出隊(duì)列

// 隊(duì)頭出隊(duì)列
void QueuePop(Queue* pq)
{assert(pq);assert(pq->head==NULL);QNode* next = pq->head->next;                                                                                                                                                                                                                                                          free(pq->head); // 釋放原頭節(jié)點(diǎn)的內(nèi)存空間pq->head = next;if (pq->head == NULL)// 如果隊(duì)列為空,則將尾指針也置為NULLpq->tail = NULL;pq->size--;
}

2.2.5獲取隊(duì)列頭部元素

// 獲取隊(duì)列頭部元素
QDataType QueueFront(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->head->data;
}

2.2.6 獲取隊(duì)列隊(duì)尾元素

// 獲取隊(duì)列隊(duì)尾元素
QDataType QueueBack(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->tail->data;
}

2.2.7獲取隊(duì)列中有效元素個(gè)數(shù)

// 獲取隊(duì)列中有效元素個(gè)數(shù)
int QueueSize(Queue* pq)
{assert(pq);return pq->size;
}

2.2.8 檢測(cè)隊(duì)列是否為空,如果為空返回非零結(jié)果,如果非空返回0

// 檢測(cè)隊(duì)列是否為空,如果為空返回非零結(jié)果,如果非空返回0 
int QueueEmpty(Queue* pq)
{assert(pq);return pq->size == 0;// 如果隊(duì)列的頭指針為NULL,則隊(duì)列為空
}

3.棧和隊(duì)列面試題

3.1 括號(hào)匹配問(wèn)題。

括號(hào)匹配問(wèn)題

3.2用隊(duì)列實(shí)現(xiàn)棧。

用隊(duì)列實(shí)現(xiàn)棧

3.3 用棧實(shí)現(xiàn)隊(duì)列。

3.4 設(shè)計(jì)循環(huán)隊(duì)列。

http://www.risenshineclean.com/news/63017.html

相關(guān)文章:

  • 網(wǎng)站開(kāi)發(fā)中標(biāo)簽欄的圖標(biāo)一般都在那個(gè)文件中寫代碼北京整站線上推廣優(yōu)化
  • 艾瑞網(wǎng)的網(wǎng)站架構(gòu)公司如何做網(wǎng)絡(luò)推廣營(yíng)銷
  • sketch做網(wǎng)站人民網(wǎng)輿情數(shù)據(jù)中心官網(wǎng)
  • 西安最好的設(shè)計(jì)院排名搜狗整站優(yōu)化
  • 內(nèi)容營(yíng)銷的方式seo分析及優(yōu)化建議
  • 桐柏網(wǎng)站建設(shè)怎么開(kāi)通百度推廣賬號(hào)
  • 新媒體營(yíng)銷的發(fā)展趨勢(shì)windows優(yōu)化大師怎么卸載
  • 做網(wǎng)上推廣網(wǎng)站軟文營(yíng)銷怎么寫
  • 電子書(shū)推送網(wǎng)站怎么做電商網(wǎng)站建設(shè)
  • 做戀足的網(wǎng)站能賺錢嗎優(yōu)化大師win7官方免費(fèi)下載
  • 如何建設(shè)門戶網(wǎng)站百度新聞
  • 江蘇專業(yè)網(wǎng)站制作公司搜索引擎關(guān)鍵詞競(jìng)價(jià)排名
  • 廣告設(shè)計(jì)軟件cdrseo數(shù)據(jù)統(tǒng)計(jì)分析工具有哪些
  • 公共服務(wù)標(biāo)準(zhǔn)化指南廊坊seo關(guān)鍵詞排名
  • 動(dòng)漫網(wǎng)頁(yè)設(shè)計(jì)作品模板廣州seo排名優(yōu)化
  • 江門營(yíng)銷網(wǎng)站建設(shè)成功營(yíng)銷案例分享
  • 重慶裝修貸款利率是多少東營(yíng)網(wǎng)站seo
  • html5好的網(wǎng)站模板優(yōu)秀的營(yíng)銷案例
  • 影視軟件開(kāi)發(fā)定制關(guān)鍵詞優(yōu)化排名軟件推薦
  • 廣州網(wǎng)站推廣費(fèi)用網(wǎng)站搜索排名優(yōu)化
  • 做設(shè)計(jì)找素材那個(gè)網(wǎng)站最好用排名第一的手機(jī)清理軟件
  • 做文字云的網(wǎng)站google ads 推廣
  • 替老外做網(wǎng)站中國(guó)國(guó)家人事人才培訓(xùn)網(wǎng)官網(wǎng)
  • 武陟網(wǎng)站建設(shè)網(wǎng)站推廣找客戶
  • 網(wǎng)頁(yè)設(shè)計(jì)一頁(yè)多少錢整站優(yōu)化方案
  • 江蘇建設(shè)類高級(jí)工程師在那個(gè)網(wǎng)站公示百度免費(fèi)推廣平臺(tái)
  • wordpress怎么做淘客網(wǎng)站百度瀏覽器官網(wǎng)在線使用
  • 和wordpressseo是付費(fèi)還是免費(fèi)推廣
  • 南寧品牌網(wǎng)站設(shè)計(jì)公司如何免費(fèi)建立一個(gè)網(wǎng)站
  • 南平網(wǎng)站設(shè)計(jì)百度下載app