資料結構C語言版之N皇后問題

2021-07-26 12:46:57 字數 1063 閱讀 5764

==此部落格**思想參考了嚴蔚敏老師的教材,特此宣告==

【說明】這裡以8皇后為例

【例子輸出】共92種可能

#include #include #include #include #include #include #include #define maxsize 100

#define start 1

#define lsize 8 //lsize為皇后的個數

using namespace std;

struct queen;

bool islegal(struct queen q,int lne,int lst);

void initqueen(struct queen& q,int n);

void trial(struct queen& q,int i,int n);

void printqueen(struct queen q);

int cnt = 1; //劃分方式的個數

int main()

//在前 lne-1 行都不發生衝突的情況下,判斷第 lne 個皇后放在 (lne,lst) 這個位置是否可行

bool islegal(struct queen q,int lne,int lst)

return true;

}//初始化n皇后q

void initqueen(struct queen& q,int n)

}//為n皇后q在第i行尋找合適的位置

void trial(struct queen& q,int i,int n)

else}}

}void printqueen(struct queen q){

printf("way %d:\n",cnt++); //第cnt種方式

for(int i=1;i<=q.n;i++){

//cout<

資料結構(C語言版)

用棧實現數字的進製轉換 10轉8 棧 限定只能在表尾進行插入或者刪除操作的線性表 特點 先進後出 儲存表示方法 順序棧和鏈棧 本文用的順序棧 實現 readonly name code class c include include define stack init size 100 儲存空間初始...

資料結構之佇列 c語言版

佇列 queue 在邏輯上是一種線性儲存結構。它有以下幾個特點 1 佇列中資料是按照 先進先出 fifo,first in first out 方式進出佇列的。2 佇列只允許在 隊首 進行刪除操作,而在 隊尾 進行插入操作。佇列通常包括的兩種操作 入佇列 和 出佇列。底層可以由陣列 順序表 鍊錶實現...

資料結構之佇列(C語言版)

佇列的鏈式儲存結構 總結佇列 是只允許在一端進行插入操作,而在另一端進行刪除操作。可以是表頭,也可以是表尾 我們可以看到,佇列其實也是線性表的一種,佇列的意思其實就和他的名字一樣,他的儲存特點就像乙個一堆資料排隊一樣,先排到隊裡面的資料就先出來 first in first out 簡稱fifo。允...