สแตก คือ ข้อมูลที่ใส่หลังสุดจะถูกนำออกมา จากสแตกเป็นลำดับแรกสุด
Stack ที่เราเจอในชีวติประจำวัน ของกระพมได้แก่
1.ตั๋วโรงภาพยนต์
ซึ่งมีกระบวนการทำงานเป็นขั้นตอน
2.ตั่วรถต่างๆ
ชึ่งมีกระบวนการทำงานเป็นขั้นตอน
วันอังคารที่ 28 กรกฎาคม พ.ศ. 2552
dts05 23/07/2009
สัปดาห์นี้ ได้เรียนเกี่ยวกับเรื่อง Stack
Stack เป็นโครงสร้างข้อมูลลิเนียร์ลิสต์ ที่มีคุณสมบัติที่ว่า
การเพิ่มหรือการลบข้อมูลในแสตก กระบวนการทำงานของ Stack มี
3 กระบวนการได้แก่ 1.Push
2.Pop
3.Stack Top
การแทนที่ข้อมูล Stack แบบลิงค์ลิสต์มี 2 ส่วนคือ
Head Node ประกอบด้วย top pointer และจำนวนสมาชิกในสแตก
และก็ Data Node ประกอบด้วย ข้อมูล และ พอยเตอร์ เป็นต้น
Stack เป็นโครงสร้างข้อมูลลิเนียร์ลิสต์ ที่มีคุณสมบัติที่ว่า
การเพิ่มหรือการลบข้อมูลในแสตก กระบวนการทำงานของ Stack มี
3 กระบวนการได้แก่ 1.Push
2.Pop
3.Stack Top
การแทนที่ข้อมูล Stack แบบลิงค์ลิสต์มี 2 ส่วนคือ
Head Node ประกอบด้วย top pointer และจำนวนสมาชิกในสแตก
และก็ Data Node ประกอบด้วย ข้อมูล และ พอยเตอร์ เป็นต้น
การเขียนโปรแกรมแบบ iostream.h กับ stdio.h
<เขียนโปรแกรมโดยใช้ "stdio.h">
#include
main()
{
int amount,price,pay;
printf("Jacky Shop:\n");
printf("===============\n");
printf("Amount :");
scanf("%d",&amount);
{
printf("Price : ");
scanf("%d",&price);
pay=amount*price
printf("You must pay %d baht\n",pay);
}
printf("===============\n");
}
<เขียนโปรแกรมโดยใช้ iostream.h >
#include
main()
{
int amount,price,pay;
cout<<"Jacky Shop\n";
cout<<"==================\n";
cout<<"Amount :";
cin>>amount;
{
cout<<"Enter Price : ";
cin>>price;
pay=amount*price
cout<<"You must pay "<<<" baht\n";
}
cout<<"===================\n";
}
#include
main()
{
int amount,price,pay;
printf("Jacky Shop:\n");
printf("===============\n");
printf("Amount :");
scanf("%d",&amount);
{
printf("Price : ");
scanf("%d",&price);
pay=amount*price
printf("You must pay %d baht\n",pay);
}
printf("===============\n");
}
<เขียนโปรแกรมโดยใช้ iostream.h >
#include
main()
{
int amount,price,pay;
cout<<"Jacky Shop\n";
cout<<"==================\n";
cout<<"Amount :";
cin>>amount;
{
cout<<"Enter Price : ";
cin>>price;
pay=amount*price
cout<<"You must pay "<<<" baht\n";
}
cout<<"===================\n";
}
dts04 15/07/2009
ในสัปดาห์นี้ เรียนเกี่ยวกับเรื่อง Linked List เกี่ยวกับพวกฟังก์ชั่น
แล้วก็เกี่ยวกับกระบวนการทำงาน ว่ามีหน้าที่อะไร และผลลัพธ์ที่ได้ เช่น
กระบวนงาน Insert Node และ กระบวนงาน Delete Node
Linked List แบบซับซ้อน เป็นต้น
แล้วก็เกี่ยวกับกระบวนการทำงาน ว่ามีหน้าที่อะไร และผลลัพธ์ที่ได้ เช่น
กระบวนงาน Insert Node และ กระบวนงาน Delete Node
Linked List แบบซับซ้อน เป็นต้น
วันอังคารที่ 14 กรกฎาคม พ.ศ. 2552
dts03 01/07/2009
Pointer
จากที่เรียนในสัปดาห์ที่แล้ว จะเรียนเรื่องเกี่ยวกับ pointer
pointer เป็นตัวแปรที่ทำหน้าที่เก็บตำแหน่งที่อยู่ address
เช่น int*a; คือ ประกาศตัวแปร a เปนตัวแปร pointer
ที่ไช้ตัวเก็บตำแหน่งเริ่มต้นที่จะใช้เก็บ integer
ได้เรียนถึงกับการใช้เครื่องหมายของ pointer
รวมไปถึงการใช้ตัวแปร pointer กับ array
จากที่เรียนในสัปดาห์ที่แล้ว จะเรียนเรื่องเกี่ยวกับ pointer
pointer เป็นตัวแปรที่ทำหน้าที่เก็บตำแหน่งที่อยู่ address
เช่น int*a; คือ ประกาศตัวแปร a เปนตัวแปร pointer
ที่ไช้ตัวเก็บตำแหน่งเริ่มต้นที่จะใช้เก็บ integer
ได้เรียนถึงกับการใช้เครื่องหมายของ pointer
รวมไปถึงการใช้ตัวแปร pointer กับ array
การบ้าน
1. ให้นักศึกษากำหนดค่าของ Array 1 มิติ และ Array 2 มิติ
Array 1 มิติ
Char name[15]; เช่น
#include"stdio.h"
void main()
{
char name[15];
printf (“name?\n”);
scanf (“%s”, s);
printf (“name=%s. \n”, s);
}
array 2 มิติ
int num[3][3];
เราก็จะได้อาเรย์ชื่อ num มี 3 แถว แถวละ3 คอลัมน์
นั้นก็คือ
int num[3][3];
num [0][0] num [1][0] num [2][0]
num [0][1] num [1][1] num [2][1]
num [0][2] num [1][2] num [2][2]
2. ให้นักศึกษาหาค่าของ A[2],A[6]จากค่า A={2,8,16,24,9,7,3,8}
ค่าของ A[2]=16
ค่าของ A[6]=3
3. จากค่าของ int a[2][3]={{6,5,4},{3,2,1}}; ให้นักศึกษาหาค่าของ a[1][0] และ a[0][2]
ค่าของ a[1][0]=3
ค่าของ a[0][2]=4
4. ให้นักศึกษากำหนด structure ที่มีค่าของข้อมูลจากน้อย 6 Records
#include"stdio.h"
struct Water
{
int id;
char name[30];
int time;
int date;
int month;
int year;
int itemid;
int price;
}
water;
void input_data()
{
printf("Jacky drink shop\n");
printf("ID: ");
scanf("%d",&water.id);
printf("Name: ");
scanf("%s",&water.name);
printf("Time: ");
scanf("%d",&water.time);
printf("Date: ");
scanf("%d",&water.date);
printf("month: ");
scanf("%d",&water.month);
printf("Year: ");
scanf("%d",&water.year);
printf("Item ID: ");
scanf("%d",&water.itemid);
printf("Price: ");
scanf("%d",&water.price);
}
void show_data()
{
printf("\n\nData your is");
printf("ID: ");
printf("%d\n",water.id);
printf("Name: ");
printf("%s\n",water.name);
printf("Time: ");
printf("%f\n",water.time);
printf("Date-month-year : %d-%d-%d\n",water.date,water.month,water.year);
printf("Item: ");
printf("%d\n",water.itemid);
printf("Price: ");
printf("%d\n",water.price);
}
main()
{
input_data();
show_data();
}
5. ให้นักศึกษาบอกความแตกต่างของการกำหนดตัวชนิด Array กับตัวแปร Pointer ในสภาพของการกำหนดที่อยู่ของข้อมูล
pointer จะใช้พื้นที่มากกว่า array เพราะต้องเพิ่มพื้นที่ส่วนหนึ่งสำหรับเก็บตำแหน่งที่อยู่ของข้อมูลตัวถัดไป
array เป็นตัวแปรชุดที่ใช้เก็บตัวแปรชนิดเดียวกันไว้ด้วยกัน
pointer เป็นตัวเก็บตำแหน่งที่อยู่ของหน่วยความจำ (Address) หรือเรียกว่า ตัวชี้
Array 1 มิติ
Char name[15]; เช่น
#include"stdio.h"
void main()
{
char name[15];
printf (“name?\n”);
scanf (“%s”, s);
printf (“name=%s. \n”, s);
}
array 2 มิติ
int num[3][3];
เราก็จะได้อาเรย์ชื่อ num มี 3 แถว แถวละ3 คอลัมน์
นั้นก็คือ
int num[3][3];
num [0][0] num [1][0] num [2][0]
num [0][1] num [1][1] num [2][1]
num [0][2] num [1][2] num [2][2]
2. ให้นักศึกษาหาค่าของ A[2],A[6]จากค่า A={2,8,16,24,9,7,3,8}
ค่าของ A[2]=16
ค่าของ A[6]=3
3. จากค่าของ int a[2][3]={{6,5,4},{3,2,1}}; ให้นักศึกษาหาค่าของ a[1][0] และ a[0][2]
ค่าของ a[1][0]=3
ค่าของ a[0][2]=4
4. ให้นักศึกษากำหนด structure ที่มีค่าของข้อมูลจากน้อย 6 Records
#include"stdio.h"
struct Water
{
int id;
char name[30];
int time;
int date;
int month;
int year;
int itemid;
int price;
}
water;
void input_data()
{
printf("Jacky drink shop\n");
printf("ID: ");
scanf("%d",&water.id);
printf("Name: ");
scanf("%s",&water.name);
printf("Time: ");
scanf("%d",&water.time);
printf("Date: ");
scanf("%d",&water.date);
printf("month: ");
scanf("%d",&water.month);
printf("Year: ");
scanf("%d",&water.year);
printf("Item ID: ");
scanf("%d",&water.itemid);
printf("Price: ");
scanf("%d",&water.price);
}
void show_data()
{
printf("\n\nData your is");
printf("ID: ");
printf("%d\n",water.id);
printf("Name: ");
printf("%s\n",water.name);
printf("Time: ");
printf("%f\n",water.time);
printf("Date-month-year : %d-%d-%d\n",water.date,water.month,water.year);
printf("Item: ");
printf("%d\n",water.itemid);
printf("Price: ");
printf("%d\n",water.price);
}
main()
{
input_data();
show_data();
}
5. ให้นักศึกษาบอกความแตกต่างของการกำหนดตัวชนิด Array กับตัวแปร Pointer ในสภาพของการกำหนดที่อยู่ของข้อมูล
pointer จะใช้พื้นที่มากกว่า array เพราะต้องเพิ่มพื้นที่ส่วนหนึ่งสำหรับเก็บตำแหน่งที่อยู่ของข้อมูลตัวถัดไป
array เป็นตัวแปรชุดที่ใช้เก็บตัวแปรชนิดเดียวกันไว้ด้วยกัน
pointer เป็นตัวเก็บตำแหน่งที่อยู่ของหน่วยความจำ (Address) หรือเรียกว่า ตัวชี้
สมัครสมาชิก:
บทความ (Atom)