Mundarija:

Rekursiya yordamida bog'langan ro'yxat orqali o'tish - Java: 12 qadam
Rekursiya yordamida bog'langan ro'yxat orqali o'tish - Java: 12 qadam

Video: Rekursiya yordamida bog'langan ro'yxat orqali o'tish - Java: 12 qadam

Video: Rekursiya yordamida bog'langan ro'yxat orqali o'tish - Java: 12 qadam
Video: #08 ALGORITMLAR | REKURSIYA 2024, Noyabr
Anonim
Rekursiya yordamida bog'langan ro'yxat orqali o'tish - Java
Rekursiya yordamida bog'langan ro'yxat orqali o'tish - Java

Xush kelibsiz, bu ko'rsatma to'plamini tanlaganingiz uchun tashakkur, bu sizga rekursiv funktsiyani qanday yaratishni ko'rsatib beradi. Amalga oshiriladigan qadamlarni tushunish uchun Java -ning asosiy bilimlari zarur.

Umuman olganda, bu 12 bosqichli jarayon 15 daqiqadan oshmasligi kerak. Bir daqiqadan ko'proq vaqtni olishi mumkin bo'lgan yagona qadam 4 -qadam bo'lib, u foydalanuvchidan sinov namunasini yaratishni so'raydi. Foydalanish vaqti foydalanuvchi ixtiyorida, lekin menimcha, bu 3 daqiqadan oshmaydi.

Kompyuteringizga nima kerak bo'ladi: Mening sinov faylim (biz unga kod qo'shamiz). Siz tanlagan har qanday java IDE (biz buning uchun drjavadan foydalanamiz).

1 -qadam: Birinchi qadam: Java IDE -ni tanlang

Birinchi qadam: Java IDE -ni tanlang
Birinchi qadam: Java IDE -ni tanlang

Bu yo'riqnoma uchun drjava ishlatiladi, faqat yangi fayl ochiladi.

2 -qadam: Ikkinchi qadam: Mening.txt faylimni yuklab oling va oching

Bu matnda biz ishlaydigan "tugun" klassi, shuningdek, biz yozgan kod maqsadga muvofiq ishlashini tekshirish uchun bir nechta testlar mavjud. Bu yerdan yuklab oling

3 -qadam: Uchinchi qadam:.txt faylini IDE -ga nusxalash va joylashtirish

Uchinchi qadam:.txt faylini IDE -ga nusxalash va joylashtirish
Uchinchi qadam:.txt faylini IDE -ga nusxalash va joylashtirish

Matnni faylimdan nusxa oling va siz ochgan java IDE -ga joylashtiring.

4 -qadam: To'rtinchi qadam: Test yaratish

To'rtinchi qadam: Test yaratish
To'rtinchi qadam: Test yaratish

Bu bizning rekursiv funktsiyamiz to'g'ri ishlashini tekshiradi. Berilgan testlarning namunaviy formatiga amal qiling.

5 -qadam: Beshinchi qadam: Rekursiv funktsiyani yaratish

Beshinchi qadam: Rekursiv funktsiyani yarating
Beshinchi qadam: Rekursiv funktsiyani yarating

Agar so'ralsa, quyidagilarni kiriting:

public int size () {}

6 -qadam: Oltinchi qadam: Rekursiv yordamchi funktsiyasini yarating

Oltinchi qadam: Rekursiv yordamchi funktsiyasini yarating
Oltinchi qadam: Rekursiv yordamchi funktsiyasini yarating

Agar so'ralsa, quyidagilarni kiriting:

umumiy statik int hajmiH (tugun x) {}

7 -qadam: Ettinchi qadam: Asosiy rekursiv funktsiyadagi yordamchini chaqirish

Ettinchi qadam: Asosiy rekursiv funktsiyadagi yordamchi funktsiyasini chaqiring
Ettinchi qadam: Asosiy rekursiv funktsiyadagi yordamchi funktsiyasini chaqiring

Bu bizning funktsiyamizni boshidan bog'langan ro'yxat bo'ylab o'tishga imkon beradi.

Biz yozgan funktsiyalarning birinchisiga quyidagilarni kiriting:

qaytish hajmiH (birinchi);

8 -qadam: Sakkizinchi qadam: Yordamchi funktsiyasi uchun asosiy holat yaratish

Sakkizinchi qadam: Yordamchi funktsiyasi uchun asosiy holat yaratish
Sakkizinchi qadam: Yordamchi funktsiyasi uchun asosiy holat yaratish

Har bir rekursiv funktsiyani uni tugatish usuli bo'lishi kerak. "Asosiy holat" bizni ro'yxatning oxirigacha etib borishni to'xtatishga imkon beradi.

"Yordamchi" funktsiyasida quyidagilarni kiriting:

if (x == null) 0 qaytarish;

9 -qadam: To'qqizinchi qadam: "+1" qo'shing va yordamchi funktsiyasini qayta chaqiring

To'qqizinchi qadam: "+1" qo'shing va yordamchi funktsiyasini qayta chaqiring
To'qqizinchi qadam: "+1" qo'shing va yordamchi funktsiyasini qayta chaqiring

Biz rekursiv funktsiya tashrif buyuradigan har bir tugun uchun bittasini qo'shamiz.

"Yordamchi" funktsiyasida quyidagilarni kiriting:

qaytarish 1 + sizeH (x.keyin);

10 -qadam: O'ninchi qadam: Kodingizni kompilyatsiya qiling / saqlang

Dasturni ishga tushirishimizdan oldin kodni tuzish kerak.

11 -qadam: O'n birinchi qadam: Dasturni ishga tushiring

Dasturingizni ishga tushiring! Chiqish nima edi? Agar biror narsa noto'g'ri ketayotgan bo'lsa, orqaga qarang va siz kodni to'g'ri va kerakli joyga kiritganingizni tekshiring.

12 -qadam: O'n ikkinchi qadam: Tabriklaymiz

O'n ikkinchi qadam: tabriklaymiz!
O'n ikkinchi qadam: tabriklaymiz!

Agar bu sizning yakuniy natijangiz bo'lsa, siz rasmiy ravishda bog'langan ro'yxat orqali takrorlanadigan rekursiv funktsiyani yozgansiz.

Tavsiya: