งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Int isEmpty ( node **ptr_head) ; parameter ชื่อของตัวแปรลิสต์ที่จะตรวจสอบว่า ว่างหรือไม่ return value มีได้ 2 สถานะ คือ ว่าง (1) หรือ ไม่ ว่าง (0) body.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Int isEmpty ( node **ptr_head) ; parameter ชื่อของตัวแปรลิสต์ที่จะตรวจสอบว่า ว่างหรือไม่ return value มีได้ 2 สถานะ คือ ว่าง (1) หรือ ไม่ ว่าง (0) body."— ใบสำเนางานนำเสนอ:

1 int isEmpty ( node **ptr_head) ; parameter ชื่อของตัวแปรลิสต์ที่จะตรวจสอบว่า ว่างหรือไม่ return value มีได้ 2 สถานะ คือ ว่าง (1) หรือ ไม่ ว่าง (0) body of function ตรวจสอบว่าลิสต์ว่างหรือไม่ (*ptr_head == NULL) ถ้าใช่ return 1, ถ้าไม่ใช่ return 0 1

2 isEmpty : ทุกกรณี เขียนเหมือนกัน int isEmpty ( node **ptr_head ) { if ( *ptr_head == NULL ) { // ถ้าลิสต์ว่าง return 1 ; else return 0 ; } 2

3 int countNode ( node ** ptr_head ) ; parameter ชื่อของตัวแปรลิสต์ที่จะนับจำนวน โหนด return value จำนวนโหนดในลิงค์ลิสต์ body of function นับจำนวนโหนดในลิงค์ลิสต์ ต้องอาศัยการ “ ท่อง ” ไปในลิงค์ ลิสต์ทีละโหนดและนับจำนวน 3

4 countNode : Singly-linked list int countNode ( node **ptr_head ) { int count = 0 ; node *t ; if ( *ptr_head != NULL ) { // ถ้าลิสต์ไม่ว่าง ( มี ข้อมูล ) t = *ptr_head ; count = 1 ; // นับไป 1 โหนด while ( t->next != NULL ) { // ถ้ายังไม่ใช่ โหนดสุดท้าย t = t->next ; // ท่องไปโหนด ถัดไป count++ ; // นับเพิ่มอีก 1 โหนด } } return count ; } 4

5 countNode : Singly- circularly-linked list int countNode ( node **ptr_head ) { int count = 0 ; node *t ; if ( *ptr_head != NULL ) { // ถ้าลิสต์ไม่ว่าง ( มี ข้อมูล ) t = *ptr_head ; count = 1 ; // นับไป 1 โหนด while ( t->next != *ptr_head ) { // ถ้ายัง ไม่ใช่โหนดสุดท้าย t = t->next ; // ท่องไปโหนด ถัดไป count++ ; // นับเพิ่มอีก 1 โหนด } } return count ; } 5

6 countNode : Doubly- linked list int countNode ( node **ptr_head ) { int count = 0 ; node *t ; if ( *ptr_head != NULL ) { // ถ้าลิสต์ไม่ว่าง ( มี ข้อมูล ) t = *ptr_head ; count = 1 ; // นับไป 1 โหนด while ( t->next != NULL ) { // ถ้ายังไม่ใช่ โหนดสุดท้าย t = t->next ; // ท่องไปโหนด ถัดไป count++ ; // นับเพิ่มอีก 1 โหนด } } return count ; } 6

7 countNode : Doubly- circularly-linked list int countNode ( node **ptr_head ) { int count = 0 ; node *t ; if ( *ptr_head != NULL ) { // ถ้าลิสต์ไม่ว่าง ( มี ข้อมูล ) t = *ptr_head ; count = 1 ; // นับไป 1 โหนด while ( t->next != *ptr_head ) { // ถ้ายัง ไม่ใช่โหนดสุดท้าย t = t->next ; // ท่องไปโหนด ถัดไป count++ ; // นับเพิ่มอีก 1 โหนด } } return count ; } 7

8 int findTarget (node **ptr_head, int target); parameter ชื่อของตัวแปรลิสต์ที่จะค้นหาข้อมูล ข้อมูลที่ต้องการค้นหา return value มีได้ 2 สถานะ คือ พบ (1) หรือ ไม่พบ (0) body of function ค้นหาข้อมูลที่ต้องการไปทีละโหนดในลิงค์ลิสต์ ต้องอาศัยการ “ ท่อง ” ไปในลิงค์ลิสต์ ถ้าพบ return 1, ถ้าไม่พบ return 0 8

9 findTarget : Singly- linked list int findTarget ( node **ptr_head, int target ) { int found = 0 ; // กำหนดตัวแปร “ พบ ” มีค่าเริ่มต้นเป็น 0 ( ไม่พบ ) node *t ; if ( *ptr_head != NULL ) { // ถ้าลิสต์ไม่ว่าง ( มีข้อมูล ) t = *ptr_head ; // ถ้า “ ยังไม่ใช่โหนดสุดท้าย ” และ “ ยังไม่พบข้อมูล ” while ( ( t->next != NULL ) && ( t->data != target ) ) t = t->next ; // ท่องไปโหนด ถัดไป // การออกจาก while loop เป็นได้ 2 กรณี // คือ “ ถึงโหนดสุดท้าย ” หรือ “ พบโหนดที่มีข้อมูล ” // ต้องตรวจสอบเพื่อเปลี่ยนตัวแปร found ในกรณีที่พบ ข้อมูล if ( t->data == target ) found = 1 ; } return found ; } 9

10 findTarget : Singly- circularly-linked list int findTarget ( node **ptr_head, int target ) { int found = 0 ; // กำหนดตัวแปร “ พบ ” มีค่าเริ่มต้นเป็น 0 ( ไม่พบ ) node *t ; if ( *ptr_head != NULL ) { // ถ้าลิสต์ไม่ว่าง ( มีข้อมูล ) t = *ptr_head ; // ถ้า “ ยังไม่ใช่โหนดสุดท้าย ” และ “ ยังไม่พบข้อมูล ” while (( t->next != *ptr_head ) && ( t->data != target )) t = t->next ; // ท่องไปโหนดถัดไป // การออกจาก while loop เป็นได้ 2 กรณี // คือ “ ถึงโหนดสุดท้าย ” หรือ “ พบโหนดที่มีข้อมูล ” // ต้องตรวจสอบเพื่อเปลี่ยนตัวแปร found ในกรณีที่พบ ข้อมูล if ( t->data == target ) found = 1 ; } return found ; } 10

11 findTarget : Doubly-linked list int findTarget ( node **ptr_head, int target ) { int found = 0 ; // กำหนดตัวแปร “ พบ ” มีค่าเริ่มต้นเป็น 0 ( ไม่พบ ) node *t ; if ( *ptr_head != NULL ) { // ถ้าลิสต์ไม่ว่าง ( มีข้อมูล ) t = *ptr_head ; // ถ้า “ ยังไม่ใช่โหนดสุดท้าย ” และ “ ยังไม่พบข้อมูล ” while ( ( t->next != NULL ) && ( t->data != target ) ) t = t->next ; // ท่องไปโหนด ถัดไป // การออกจาก while loop เป็นได้ 2 กรณี // คือ “ ถึงโหนดสุดท้าย ” หรือ “ พบโหนดที่มีข้อมูล ” // ต้องตรวจสอบเพื่อเปลี่ยนตัวแปร found ในกรณีที่พบ ข้อมูล if ( t->data == target ) found = 1 ; } return found ; } 11

12 findTarget : Doubly- circularly-linked list int findTarget ( node **ptr_head, int target ) { int found = 0 ; // กำหนดตัวแปร “ พบ ” มีค่าเริ่มต้นเป็น 0 ( ไม่พบ ) node *t ; if ( *ptr_head != NULL ) { // ถ้าลิสต์ไม่ว่าง ( มีข้อมูล ) t = *ptr_head ; // ถ้า “ ยังไม่ใช่โหนดสุดท้าย ” และ “ ยังไม่พบข้อมูล ” while (( t->next != *ptr_head ) && ( t->data != target )) t = t->next ; // ท่องไปโหนดถัดไป // การออกจาก while loop เป็นได้ 2 กรณี // คือ “ ถึงโหนดสุดท้าย ” หรือ “ พบโหนดที่มีข้อมูล ” // ต้องตรวจสอบเพื่อเปลี่ยนตัวแปร found ในกรณีที่พบ ข้อมูล if ( t->data == target ) found = 1 ; } return found ; } 12


ดาวน์โหลด ppt Int isEmpty ( node **ptr_head) ; parameter ชื่อของตัวแปรลิสต์ที่จะตรวจสอบว่า ว่างหรือไม่ return value มีได้ 2 สถานะ คือ ว่าง (1) หรือ ไม่ ว่าง (0) body.

งานนำเสนอที่คล้ายกัน


Ads by Google