ผลต่างระหว่างรุ่นของ "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)