Агуулгын хүснэгт:

Java дахь массивыг рекурсив байдлаар нэгтгэх: 9 алхам
Java дахь массивыг рекурсив байдлаар нэгтгэх: 9 алхам

Видео: Java дахь массивыг рекурсив байдлаар нэгтгэх: 9 алхам

Видео: Java дахь массивыг рекурсив байдлаар нэгтгэх: 9 алхам
Видео: Архитектура ЭВМ | Основы Операционных Систем 03 | Ассемблер 2024, Арваннэгдүгээр
Anonim
Java дахь массивыг рекурсив байдлаар нэгтгэх
Java дахь массивыг рекурсив байдлаар нэгтгэх

Рекурсия нь маш бага кодтой асуудлыг хурдан шийдэх маш ашигтай, цаг хугацаа шаардсан процедур юм. Рекурци нь анхны асуудлыг богиносгодог гэж нэрлэх аргыг ашигладаг.

Энэ жишээнд бид 10 бүхэл тооноос бүрдэх массивыг нэгтгэх болно, гэхдээ хэмжээ нь ямар ч урттай байж болно.

Хангамж

Та java -ийн үндсэн синтаксийг мэддэг байх ёстой бөгөөд энэ даалгаварт код бичихийн тулд IDE эсвэл текст засварлагчтай байх ёстой.

Алхам 1: Үндсэн аргыг тохируулна уу

Үндсэн аргыг тохируулна уу
Үндсэн аргыг тохируулна уу

Эхлэхийн тулд шинээр үүсгэсэн ангид үндсэн аргыг тохируулна уу. Би ангийнхаа нэрийг RecursiveSum гэж нэрлэсэн. Энд та бүхэл тоонуудын массивыг үүсгэж, өөрийн рекурсив аргыг дуудах болно.

Алхам 2: Рекурсив аргын толгойгоо үүсгээрэй

Рекурсив аргын толгойгоо үүсгээрэй
Рекурсив аргын толгойгоо үүсгээрэй

Үндсэн аргынхаа гадна рекурсив аргынхаа аргын толгойг үүсгээрэй.

Энэ арга нь статик бөгөөд үүнийг ашиглахын тулд объект шаардахгүй болно.

Буцах төрөл нь int, учир нь бидний ашиглах массив бүхэл тоон дээр дүүрэн байх болно. Гэсэн хэдий ч үүнийг массив агуулсан ямар ч тооны төрөл болгон өөрчилж болно.

Би өөрийн аргыг recursiveSum гэж нэрлэсэн бөгөөд үүнд хоёр параметр орно; бүхэл тоонуудын массив ба бидний нийлбэрт нэмэх индекс. Би эдгээр параметрүүдийг тоо, индекс гэж нэрлэсэн.

Та яг одоо алдааг харах болно, энэ бол зүгээр. Тэд дараа нь засах болно.

Алхам 3: Kicker/base кейсээ үүсгээрэй

Kicker/base кейсээ үүсгээрэй
Kicker/base кейсээ үүсгээрэй

Рекурсив аргад өшиглөх/суурь хайрцаг хэрэгтэй болно. Энэ бол таны аргыг өөрийгөө хязгааргүй гэж нэрлэхийг зогсоох нөхцөл юм. Энэхүү үндсэн тохиолдлыг бидний тулгарах хамгийн энгийн тохиолдол гэж үзэж болно. Энэ тохиолдолд үндсэн тохиолдол нь бидний массивын төгсгөлд байх болно. Хэрэв одоогийн индекс нь массивын урттай тэнцүү байвал (массивууд 1 -ээс биш 0 -ээс эхлэн тоолж эхэлдэг учир хасах 1) бид төгсгөлд нь байгаа бөгөөд тэр элементийг тухайн индекс дээр буцаана.

Алхам 4: Рекурсив алхам

Рекурсив алхам
Рекурсив алхам

Бид үндсэн кейсээ авсны дараа дараагийн алхам бол бидний рекурсив алхам юм. Энд ид шид тохиолддог. Манай индекс нь массивынхаа сүүлийн элементтэй тэнцэх тохиолдолд бид хэргийг авч үзсэн. Хэрэв бид массивынхаа сүүлчийн элемент биш бол яах вэ? Хэрэв бид одоо байгаа элементээ нэмээд дараагийн элементээ нэмээрэй гэж хэлж чадвал яах вэ? Эцэст нь бид массивынхаа төгсгөлд хүрэх бөгөөд бидний үндсэн тохиолдол нөлөөлөх болно.

Үүнийг хийхийн тулд бид одоогийн индексээ буцааж өгч, массивын үлдсэн хэсгийг нэмнэ үү.

Алхам 5: Асуудлыг богиносгох

Асуудлыг богиносгох
Асуудлыг богиносгох

Бид яаж "үлдсэнийг нь нэмэх" вэ? Бидэнд тодорхой элемент нэмэх арга бий. манай recursiveSum () арга! Бид үүнийг дахин дуудаж болох боловч ямар индексийг нэгтгэж байгаагаа өөрчилж болно.

Бид боловсруулж буй массиваа дамжуулдаг боловч одоогийн индексээсээ дараагийн индексийг дамжуулдаг. Бид үүнийг одоогийн индекс дээрээ үзүүлсэн шиг нэгийг нэмж оруулснаар хийдэг.

Алхам 6: Бүхэл тоонуудын массив үүсгэх

Бүхэл тоонуудын массив үүсгэх
Бүхэл тоонуудын массив үүсгэх

Одоо бидний рекурсив хураах арга дууссан тул бид боловсруулах массиваа үүсгэж болно. Энэ массив нь манай үндсэн аргын блокт байх болно.

Та массивын хэмжээг хүссэн хэмжээгээр хийх боломжтой. Энэ нь зөвхөн нэг хэмжээтэй биш гэдгийг харуулахын тулд өөр өөр хэмжээ, утгатай хэд хэдэн өөр массив үүсгэсэн.

Алхам 7: Энэ аргыг өөрийн массивуудаар дуудна уу

Өөрийн массивуудтай аргыг дуудаарай
Өөрийн массивуудтай аргыг дуудаарай

Одоо та өөрийн рекурсив аргыг дуудаж, эдгээр массивуудыг түүнд дамжуулж болно. Одоо та програмаа ажиллуулж болно.

Алхам 8: Үр дүнг хэвлэх

Үр дүнг хэвлэх
Үр дүнг хэвлэх
Үр дүнг хэвлэх
Үр дүнг хэвлэх

Юу ч болоогүй. Яагаад? Рекурсив нийлбэр нь бүхэл тоог буцаана, гэхдээ бид энэ бүхэл тоогоор юу ч хийгээгүй. Энэ нь ажлаа хийсэн боловч үр дүнг нь олж харахгүй байна. Үр дүнг харахын тулд бид үүнийг зүгээр л хэвлэ. Үүнийг ажиллуулсны дараа та массив бүрийнхээ үр дүнг харах ёстой.

Алхам 9: Баяр хүргэе

Та рекурсив функцийг гүйцэтгэсэн. Массивуудынхаа хэмжээг өөрчлөхөд таатай байна. Хэрэв та үүнийг туршиж үзвэл хоосон массивтай болсноор энэ нь сүйрч байгааг анзаарах болно. Бид үүнийг тооцоогүй боловч энэ нь таны рекурсив аргыг сайжруулах гайхалтай арга юм.

Зөвлөмж болгож буй: