CHƯƠNG 7 CẤU TRÚC TRONG LẬP TRÌNH

21 253 0
CHƯƠNG 7 CẤU TRÚC TRONG LẬP TRÌNH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHỈÅNG 7 CÁÚU TRỤC Cáúu trục l táûp håüp ca mäüt hồûc nhiãưu biãún, cọ thãø khạc kiãøu nhau, âỉåüc nhọm lải dỉåïi dảng mäüt tãn duy nháút cho tiãûn xỉí l. (Giäúng cáúu trục Record trong Pascal). Cáúu trục giụp cho viãûc täø chỉïc cạc dỉỵ liãûu phỉïc tảp, âàûc biãût trong nhỉỵng chỉång trçnh låïn vç trong nhiãưu tçnh húng chụng cho phpẹ nhọm cạc biãún cọ liãn quan lải âãø xỉí l nhỉ mäüt âån vë thay vç nhỉ cạc thỉûc thãø tạch biãût. I. ởnh nghộa cỏỳu truùc vaỡ khai baùo bióỳn cỏỳu truùc 1. ởnh nghộa cỏỳu truùc struct <Tón_kióứu_cỏỳu_truùc> { <Kióứu> <Tón trổồỡng 1>; <Kióứu> <Tón trổồỡng 2>; } Trong õoù: struct: Laỡ tổỡ khoaù Tón_kióứu_cỏỳu_truùc: laỡ tón bỏỳt kyỡ, do ngổồỡi sổớ duỷng õỷt Vờ duỷ: struct Date { int day; int month; int year; }; 2. ởnh nghộa cỏỳu truùc bũng typedef Nóỳu mọỹt cỏỳu truùc õổồỹc õởnh nghộa vồùi tón_kióứu_cỏỳu_truùc thỗ ta coù thóứ cuỡng typedef õó õởnh nghộa nhổ sau: Typedef struct < tón_kióứu_cỏỳu_truùc> <Tón_kióứu>; Vờ duỷ: typedef struct Date DATE; Nóỳu mọỹt cỏỳu truùc chổa õởnh nghộa, thỗ ta coù thóứ duỡng typedef õóứ õởnh nghộa: Typedef struct [Tón_kióứu_cỏỳu_truùc] { <Kióứu> <Trổồỡng 1>; <Kióứu> <Trổồỡng 2>; } <tón_kióứu>; Vờ duỷ: Vồùi vờ duỷ trón ta coù thóứ duỡng typedef õóứ õởnh nghộa laỷi nhổ sau: typedef struct { int day; int month; int year; } DATE; 3. Khai baïo biãún cáúu truïc Khai baïo kãút håüp: struct <Tãn_kiãøu_cáúu_truïc> { <Kiãøu> <Træång1>; <Kiãøu> <Træång2>; } <Danh_saïch_caïc_biãún>; Vờ duỷ: struct Date { int day; int month; int year; } date, *pd; Khai baùo rióng leợ: Duỡng Tón_kióứu_baớn_ghi hoỷc thọng qua tón cỏỳu truùc õaợ õổồỹc õởnh nghộa bũng typedef + Duỡng tón_kióứu_cỏỳu_truùc: struct < tón_kióứu_cỏỳu_truùc> <Danh saùch caùc bióỳn> Vờ duỷ: struct Date date,*pd; + Duỡng tón õởnh nghộa bũng typedef <Tón_kióứu> <danh saùch caùc bióỳn> Vờ duỷ: DATE date,*pd II. Khồới õỏửu giaù trở cho cỏỳu truùc: Ta coù thóứ khồới õỏửu giaù trở cho mọỹt cỏỳu truùc theo phổồng caùch nhổ laỡ khồới õỏửu giaù trở cho maớng. Theo sau tón_bióỳn_cỏỳu_truùc laỡ dỏỳu bũng (=), sau õoù laỡ danh daùch caùc giaù trở khồới õỏửu õổồỹc õỷt trong caùc dỏỳu moùc {}. Caùc giaù trở khồới õỏửu coù cuỡng kióứu vồùi caùc trổồỡng tổồng ổùng trong cỏỳu truùc. Vờ duỷ: DATE date = {12, 3, 2003} III. Truy cỏỷp õóỳn caùc thaỡnh phỏửn cuớa cỏỳu truùc: Coù hai caùch tham chióỳu õóỳn caùc thaỡnh phỏửn cuớa cỏỳu truùc tổồng ổùng vồùi hai trổồỡng hồỹp sau: Nóỳu noù laỡ mọỹt bióỳn cỏỳu truùc: Ta duỡng toaùn tổớ dỏỳu chỏỳm (.) õóứ tham chióỳu õóỳn caùc trổồỡng (thaỡnh phỏửn) cuớa cỏỳu truùc. Cuù phaùp: <tón_bióỳn_cỏỳu_truùc>.<Tón_trổồỡng> Nóỳu noù laỡ mọỹt bióỳn con troớ troớ õóỳn cỏỳu truùc: Ta duỡng toaùn tổớ muợi tón (->) õóứ tham chióỳu õóỳn. Cuù phaùp: <tón_bióỳn_cỏỳu_truùc>-><Tón_trổồỡng> Vờ duỷ: struct Date { int day; int month; int year; } date; typedef struct Date DATE DATE *p Vồùi caùc khai baùo trón ta coù caùc caùch tham chióỳu sau: date.day=18; date.month=4; date.year=2003; Hoỷc: p->day = 18 p->month=4; p->year=2003; Caùc pheùp toaùn con troớ tổồng õổồng vồùi: (*p).day=18; (*p).month=4; (*p).year=2003; [...]... kãút Âënh nghéa: Cụ phạp: struct { ; struct *,; } Vê dủ: Âënh nghéa mäüt danh sạch liãn kãút âãø chỉïa cạc säú ngun struct Point { int info; struct Point *Next,*Previous; }; III STACK v QUEUE 1 STACK... c=getch(); } while(c!=ESC); printf("\nCac gia tri trong Stack\n"); while (!StackEmpty()) printf("%d ",Pop()); printf("\nAn ESC de ket thuc"); getch(); } 2 Queue Queue hay cn gi l hng âåüi, âáy l mäüt kiãøu danh sạch âàûc biãût Cạc pháưn tỉí âỉåüc thãm vo tỉì mäüt âáưu, âỉåüc gi l âáưu sau, v láúy ra mäüt âáưu khạc, âỉåüc gil âáưu trỉåïc Cáúu trục ny âỉåüc sỉí dủng trong cạc tçnh húng láûp trçnh cáưn xỉí l... stackempty() { return !p; } Sỉí dủng danh sạch liãn kãút: int StackEmpty() { return Head->Next==p; } Vê dủ: Xáy dỉûng stack bàòng danh sạch liãn kãt: #include "stdio.h" #include "alloc.h" #define ESC 27 struct Node { int info; struct Node *Next; }; typedef struct Node NODE; NODE *Head, *p, *q; StackInit() { Head = (NODE *) malloc (sizeof *Head); p=(NODE *) malloc (sizeof *p); Head->Next=p; Head->info=0;... (p=NULL) { printf(“Cannot find Node \n”); return; } p->Next=p->Next->Next; }; free(goner) Tçm pháưn tỉ vo danh sạch Tháût khọ tảo mäüt hm FindNode() täøng quạt, båíi vç khi tçm kiãúm thç ta phi dỉûa vo mäüt trong nhỉỵng trỉåìng dỉỵ liãûu ca cáúu trục, âiãưu ny phủ thüc vo cáúu trục dang sỉí dủng Âãø viãút hm FindNode() täøng quạt ta phisỉí dủng con tr tr âãún hm Våïi cáúu trục trãn ta xáy dỉûng hm FindNode() . CHỈÅNG 7 CÁÚU TRỤC Cáúu trục l táûp håüp ca mäüt hồûc nhiãưu biãún, cọ thãø khạc kiãøu nhau, âỉåüc nhọm

Ngày đăng: 19/10/2014, 00:44

Từ khóa liên quan

Mục lục

  • CHÆÅNG 7 CÁÚU TRUÏC

  • PowerPoint Presentation

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan