—遞迴—
int
bina_search
(int str,
int key,
int low,
int high)
if(str[mid]
== key)
if(str[mid]
< key)
if(str[mid]
> key)
}
#include
intbina_search
(int str,
int key,
int low,
int high)
;int
bin_search
(int str,
int n,
int key)
if(str[mid]
> key)
if(str[mid]
== key)
}return-1
;//查詢失敗
}int
main()
;int key, address;
printf
("請輸入待查詢的關鍵字:");
scanf
("%d"
,&key)
; address =
bin_search
(str,
11, key);if
(-1!= address)
else
address =
bina_search
(str, key,0,
10);if
(-1!= address)
else
return0;
}
int
fib(
int i)
return
fib(i-1)
+fib
(i-2);
}
#include
intfib
(int i)
;int
main()
return0;
}
#include
//將數量 n 個盤子 從 x 借助 y 移動到 z
void
move_hanoi
(int n,
char x,
char y,
char z)
else
}int
main()
#include
int n=0;
intsecurity
(int row,
int j,
int(
*p)[8]
)}//判斷左上方
for(y = row, x = j; y >=
0&& x >=
0; y--
, x--)}
//判斷右下方
for(y = row, x = j; y <
8&& x <
8; y++
, x++)}
//判斷左下方
for(y = row, x = j; y <
8&& x >=
0; y++
, x--)}
//判斷右上方
for(y = row, x = j; y >=
0&& x <
8; y--
, x++)}
return1;
}//引數row:表示起始行 引數j:表示列數量
//引數(*p)[8]:表示指向棋盤每一行的指標
void
eightqueen
(int row,
int j,
int(
*p)[8]
)}if(
8== row)
printf
("\n");
}printf
("\n");
}else*(
*(q+row)
+x)=1;
eightqueen
(row+
1, j, q);}
}}}int
main()
}eightqueen(0
,8, chess)
;printf
("總共有 %d 種解決方法:\n"
, n)
;return0;
}
【額外】 C語言 資料結構 棧相關問題
二進位制轉換為十進位制 include include include define ok 1 define error 0 define stack init size 20 define stackincrement 10 typedef char selemtype typedef int s...
資料結構相關問題
1.順序儲存結構不足的解決辦法 所有的元素都不要考慮相鄰位置,哪有空位就到 而只是讓每個元素知道它下乙個元素的位 置在 這樣,我們可以在第乙個元素時,就知道第二個元素的位置 記憶體位址 而找到它 在第二個元素時,再找到第三個元素的位置 記憶體位址 這樣所有的元素 我們就都可以通過遍歷而找到。2.線性...
C語言資料結構之遞迴部分
陣列遞迴 逆序輸出 include void preprint int a,int n int main preprint a,6 return 0 void preprint int a,int n 逆序輸出2 include void preprint int a,int n int main ...