21 กรกฎาคม, 2552

DTS 04-15/07/2552

สรุป

ลิงค์ลิสต์เป็นการจัดเก็บชุดข้อมูลเชื่อมโยงต่อเนื่องกันไปตามลำดับ ซึ่งอาจอยู่ในลักษณะแบบเชิงเส้นตรง (linear) หรือ ไม่เป็นเส้นตรง (nonlinear) ก็ได้ ซึ่งในลิสต์จะประกอบไปด้วยข้อมูลที่เรียกว่าโหนด (node) ในหนึ่งโหนดจะประกอบด้วยส่วนของข้อมูลที่ต้องการจัดเก็บ เรียกว่าส่วน Info และส่วนที่เป็นพอยน์เตอร์ที่ชี้ไปยังโหนดถัดไป (Link) หรือชี้ไปยังโหนดอื่นๆที่อยู่ในลิสต์ หากไม่มีโหนดที่อยู่ถัดไป ส่วนที่เป็นพอยน์เตอร์หรือ Link จะเก็บค่า NULL หรือ NILL ใช้สัญลักษณ์ ^

Linked List เป็นวิธีการเก็บข้อมูลอย่างต่อเนื่องของอิลิเมนท์ต่างๆโดยมีพอยเตอร์เป็นตัวเชื่อมต่ออิลิเมนต์ คือ ชื่อตัวเเปรที่มาเก็บค่าแต่ละอิลิเมนท์ เรียกว่าโนด (Node) จะประกอบไปด้วย 2 ส่วน คือ Data และ Link Fieldโนด (Node) คือ การเชื่อมต่อโครงสร้างข้อมูลเเบบลิงค์ลิสต์ เเบ่งเป็น 2 ส่วน คือ Head Structure เเละ Data Node Strureโนดเเรกของลิงค์ลิสต์จะมีตัวแปรสำหรับชี้ตำเเหน่งของลิสต์ซึ่งจะเก็บตำเเหน่งเริ่มต้นของลิสต์ถ้าลิสต์ไม่มีข้อมูล ข้อมูลก็จะเป็นNull


ฟังก์ชัน stdio.h และ iostream.h


ใส่จำนวนนักเรียนที่ต้องการ แล้วใส่ค่าของคะแนน เพื่อหาผลรวมของคะแนนทั้งหมด

iostream.h
#include
int main()
{
int numstd;
cout << "Number of students: ";
cin >> numstd;
float *scores = new float[ nu mstd ];
int i;
for(i=0;i<>
{
cout << "Score of student " <<>
cin >> scores [ i ];
}
cout << "\nThe scores are ";
float total = 0;
for(i=0;i <>
{
cout <<>
total = total + scores[i];
}
cout << "\nTotal scores of all students is " <<>
delete []scores;
return 0;
}


stdio.h

#include
main()
{

int std;
printf ("Number of students: ");
scanf("%d",&std);
float *score = new float[std];
int i;
for(i=0;i
{
printf ("Score of student: ",i+1);
scanf ("%f",&score[i]);
}
printf ("\nThe score are %d",std);
float total=0;
for(i=0;i
{
printf("score[i]");
total = total + score[i];
}
printf("\nTotal scores of all students is:%f ",total);
delete[]score;
return 0;
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น