ผลต่างระหว่างรุ่นของ "Ioi/recursion"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 10: | แถว 10: | ||
'(1 2 3 4 10) | '(1 2 3 4 10) | ||
− | 2. | + | ฟังก์ชันที่เขียนทำงานในเวลาเท่าใด ถ้าลิสต์ที่ได้รับมีความยาว n |
+ | |||
+ | 2. mylast | ||
+ | |||
+ | เขียนฟังก์ชัน mylast รับ list และคืนข้อมูลสุดท้ายใน list ไม่ต้องพิจารณากรณีที่ได้รับ list ว่าง | ||
+ | |||
+ | > (mylast '(10 20 30)) | ||
+ | 30 | ||
+ | |||
+ | 3. myappend | ||
+ | |||
+ | เขียนฟังก์ชันรับ list สอง list และคืน list ที่เกิดจากการต่อกันของทั้งสอง list | ||
+ | |||
+ | > (myappend '(1 2 3) '(20 30 40)) | ||
+ | '(1 2 3 20 30 40) | ||
+ | |||
+ | == ท้าทาย == | ||
+ | |||
+ | == ต้นไม้ == |
รุ่นแก้ไขเมื่อ 22:03, 25 ตุลาคม 2558
หน้านี้รวมแบบฝึกหัดการเขียน recursion ด้วย Racket
ฝึกฝน
1. mypushback
เขียนฟังก์ชัน mypushback รับ list และ element แล้ว return list ที่มี element ต่อท้าย
> (mypushback '(1 2 3 4) 10) '(1 2 3 4 10)
ฟังก์ชันที่เขียนทำงานในเวลาเท่าใด ถ้าลิสต์ที่ได้รับมีความยาว n
2. mylast
เขียนฟังก์ชัน mylast รับ list และคืนข้อมูลสุดท้ายใน list ไม่ต้องพิจารณากรณีที่ได้รับ list ว่าง
> (mylast '(10 20 30)) 30
3. myappend
เขียนฟังก์ชันรับ list สอง list และคืน list ที่เกิดจากการต่อกันของทั้งสอง list
> (myappend '(1 2 3) '(20 30 40)) '(1 2 3 20 30 40)