C Recursion (Fungsi rekursif)

Isi kandungan

Dalam tutorial ini, anda akan belajar menulis fungsi rekursif dalam pengaturcaraan C dengan bantuan contoh.

Fungsi yang memanggil dirinya dikenali sebagai fungsi rekursif. Dan, teknik ini dikenali sebagai rekursi.

Bagaimana rekursi berfungsi?

 kekosongan berulang () (… recurse ();…) int main () (… recurse ();…)

Kekambuhan berterusan sehingga beberapa syarat dipenuhi untuk mengelakkannya.

Untuk mengelakkan pengulangan yang tidak terbatas, jika… pernyataan lain (atau pendekatan serupa) dapat digunakan di mana satu cabang membuat panggilan rekursif, dan yang lain tidak.

Contoh: Jumlah Nombor Semula Jadi Menggunakan Pengulangan

 #include int sum(int n); int main() ( int number, result; printf("Enter a positive integer: "); scanf("%d", &number); result = sum(number); printf("sum = %d", result); return 0; ) int sum(int n) ( if (n != 0) // sum() function calls itself return n + sum(n-1); else return n; ) 

Pengeluaran

 Masukkan bilangan bulat positif: 3 jumlah = 6

Pada mulanya, sum()panggilan dipanggil dari main()fungsi dengan nombor dilewatkan sebagai argumen.

Katakan, nilai n dalam sum()adalah awalnya 3. Semasa panggilan fungsi seterusnya, 2 diteruskan ke sum()fungsi. Proses ini berterusan sehingga n sama dengan 0.

Apabila n sama dengan 0, ifkeadaan gagal dan elsebahagian dijalankan mengembalikan jumlah bilangan bulat akhirnya ke main()fungsi.

Kelebihan dan Kekurangan Pengulangan

Rekursi menjadikan program menjadi elegan. Namun, jika prestasi sangat penting, gunakan gelung sebagai ganti kerana pengulangan biasanya lebih perlahan.

Yang dikatakan, rekursi adalah konsep penting. Ia sering digunakan dalam struktur data dan algoritma. Sebagai contoh, adalah biasa menggunakan rekursi dalam masalah seperti melintasi pokok.

Artikel menarik...