標籤(空格分隔): 資料結構和演算法
#include int main()
return 0;
}
#include int fib(int i)
int main()
例
計算 n 的階乘 n!
#include int factorial(n)
int main()
例
編寫乙個遞迴函式,實現將輸入的任意長度的字串反向輸出的功能。
#include void print()
int main()
例
折半查詢法的迭代實現
//折半查詢法的迭代實現 1
#include #include int bin_serach(int str, int n, int key)
else if (str[mid] < key)
else
}return 0;
}int main()
int n, addr;
printf("\n請輸入要查詢的數字:");
scanf("%d", &n);
addr = bin_serach(str, size, n);
if (-1 != addr)
else
return 0;
}
//折半查詢法的迭代實現 2
#include #include int getaddr(int str, int key, int low, int high)
else if (str[mid] > key)
return getaddr(str, key, low, high);
}int main()
int n, addr;
printf("\n請輸入要查詢的數字:");
scanf("%d", &n);
addr = getaddr(str, n, 0, size);
if (-1 != addr)
else
return 0;
}
例
折半查詢法的遞迴實現
//折半查詢法的遞迴實現
#include typedef int elemtype;
int half_search(elemtype *str, int low, int high, elemtype n)
else if( str[mid] < n )
else }
int main()
printf("\n");
for( i=0; i//將 n 個盤子從 x 借助 y 移動到 z 上
void move(int n, char x, char y, char z)
else }
int main()
#include int count = 0;
int notdanger( int row, int j, int (*chess)[8] )
} //判斷左上方
for( i=row, k=j; i>=0 && k>=0; i--, k-- ) }
//判斷右下方
for( i=row, k=j; i<8 && k<8; i++, k++ ) }
//判斷右上方
for( i=row, k=j; i>=0 && k<8; i--, k++ ) }
//判斷左下方
for( i=row, k=j; i<8 && k>=0; i++, k-- ) }
if( flag1 || flag2 || flag3 || flag4 ||flag5 )
else }
//引數row:表示起始行
//引數n:表示列數
//引數(*chess)[8]:表示指向棋盤每一行的指標
void eightqueen( int row, int n, int (*chess)[8] )
} if( 8 == row )
printf("\n");
} printf("\n");
count++;
} else
*(*(chess2+row)+j) = 1;
eightqueen( row+1, n, chess2 );
}} }
}int main()
} eightqueen( 0, 8, chess );
printf("總共有 %d 種解決方法\n", count);
return 0;
}
資料結構和演算法 遞迴
遞迴,其實就是自己呼叫自己,實現乙個不斷重複的工作,直接上 給你們講解一下,應該就明白遞迴是什麼東東了,遞迴其實也是一種迴圈,他也是有終止條件的,否則就變成了死迴圈,這個 的終止條件就是 因為這裡就沒有再次呼叫自己,所以就終止了。從這個 我們也可以看出來,這裡的遞迴就實現了抱著,我的,這兩個詞語的多...
資料結構和演算法之遞迴
遞迴問題 方法自己呼叫自己,每次呼叫傳入不同的值 public class recursiontest public static void test int n system.out.println n n public class recursiontest02 public static in...
資料結構 演算法 遞迴
遞迴在較為高階的數演算法實現中是常用的,比如深度優先搜尋,暴力搜尋。下面展示較為簡單的遞迴 執行的過程中。public void recurisve recurisve system.out.println str test public void test 測試 依次輸入是 k i h a 依次輸...