intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 1 - An Văn Minh, Trần Hùng Cường

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:132

34
lượt xem
18
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giáo trình "Cấu trúc dữ liệu và giải thuật trình" bày những kiến thức cơ bản về cấu trúc dữ liệu và các giải thuật xử lý liên quan, giúp sinh viên nhận thức được vấn đề thiết kế và lựa chọn cấu trúc dữ liệu và các giải thuật, một giai đoạn quan trọng trong quy trình phát triển phần mềm. Sách được chia thành 2 phần, mời các bạn cùng tham khảo nội dung phần 1 cuốn sách.

Chủ đề:
Lưu

Nội dung Text: Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 1 - An Văn Minh, Trần Hùng Cường

  1. llllllllllllllllilll \ DAI j HOC CONG NGHlfiP HA NOl GT.0000026859 G IA O T R I N H nh A x u At b A n kh o a h o c v A KY THUAT
  2. TRUdNG £>AI HOC CONG NGHIEP HA NQI AN VAN MINH - TRAN HUNG CUCJNG G IA O T R I M ! A I NHA XUAT BAN KHOA HOC VA KY THUAT
  3. MUC LUC Trang HNOI DAU ...................................................................................................................7 Chirong 1 TONG QUAN VE CAU TRUC DU LIEU VA GIAI THUAT . VAI TRO CUA VIEC XAY Dl/NG CAU TRUC DU' LIEU .................................... 9 . CAC TIEU CHUAN DANH G1A CAU TRUC DU' LIEU ........................................12 . CAC CAU TRUC DU' LIEU CO SCJ TRONG C/C++ ............................................ 13 1.3.1. Djnh nghTa kieu dir lie u ....................................................................................14 1.3.2. Cac thuoc tinh cua mqt kieu dir lieu............................................................... 14 1.3.3. Cac kieu du lieu cor b a n ....................................................................................14 1.3.4. Cac kieu dir lieu co cau true ........................................................................... 15 1.3.5. Cac phep toan trong h? kieu C/C++............................................................... 19 . g i Ai t h u At - p h An t ic h vA d An h g i A g i A i t h u At ............................... 19 1.4.1. Giai th u at..........................................................................................................19 1.4.2. Bieu dien giai thuat ......................................................................................... 21 1.4.3. Phan tich giai th u at.......................................................................................... 21 1.4.4. Phan tich mpt so giai th u at.............................................................................. 28 TLUAN CHUNG....................................................................................................... 32 ITAPCHU'ONG 1 ..................................................................................................... 32 Chining 2 DE QUY VA GIAI THUAT DE QUY K.HA1 N1EM VEDEQUY ....................................................................................... 34 g i A i t h u At d e q u y v A h A m d e q u y .......................................................... 34 2.2.1. Giai thuat d? quy ............................................................................................. 34 2.2.2. Ham de quy ..................................................................................................... 35 THIET K.E GlAl THUAT DE QUY ......................................................................... 36 2.3.1. Ham n ! ............................................................................................................. 36 2.3.2. Bai toan day s6 FIBONACCI.......................................................................... 37 2.3.3. Bai toan “Thap HaNoi” .................................................................................. 38 HIEU LQ'C CUA DE Q U Y ....................................................................................... 40 ITAPCHU'ONG 2 ......................................................................................................42 3
  4. Chiro'ng 3 DANH SACH TUYEN TINH 3.1. KHAlNIEM DANH SACH TUYEN TINH............................................................ 44 3.1.1. Khai niem ....................................................................................................... 44 3.1.2. Cac phep toan tren danh sach......................................................................... 44 3.2. LUlI TRU' KE TIEP CUA DANH SACH TUYEN TINH ...................................... 46 3.2.1. Thiet ke cau true dir lieu................................................................................. 46 3.2.2. Cai dat cac phep toan tren danh sach ............................................................. 48 3.2.3. Bai tap ap dpng............................................................................................... 54 3.3. DANH SACH MOC NOI ........................................................................................ 61 3.3.1. KiSu con tro va cac khai niem lien quan ........................................................ 61 3.3.2. Danh sach moc noi don .................................................................................. 66 3.4. DANH SACH NOI VONG ....................................................................................... 89 3.5. DANH SACH MOC NOI HAI CHIEU .................................................................... 90 3.5.1. Phep bo sung mQt nut m o i.............................................................................. 92 3.5.2. Loai bo mpt nut tren danh sach ...................................................................... 93 3.6. UNO DUNG DANH SACH MOC NOI ................................................................... 94 3.6.1. Giai thieu umg dung ........................................................................................94 3.6.2. Giai thuat.........................................................................................................95 3.7. STACK VA QUEUE ................................................................................................97 3.7.1. Stack (Ngan x ep ).............................................................................................97 3.7.2. Queue (Hang d p i).......................................................................................... 114 BAI TAP CHUONG 3 ................................................................................................... 125 Chirffng 4 CAY 4.1. CAY VACAC KHAI NIEM CO BAN ...................................................................131 4.1.1. Djnh nghTa..................................................................................................... 131 4.1.2. MQt so khai nipm ca ban .............................................................................. 132 4.2. CAYNH1 PHAN .................................................................................................... 133 4.2.1. Djnh nghTa..................................................................................................... 133 4.2.2. Tinh chat ....................................................................................................... 133 4.2.3. Bieu dien cay nhi phan .................................................................................. 134 4.2.4. Phep duyet cay nhi phan ............................................................................... 138 4.2.5. Cay nhj phan bi6u diin bieu thurc................................................................. 140 4
  5. 3. CAY NHI PHAN l i\1 KIEM ................................................................................ 142 4.3.1. Djnh nghTa......................................................................................................142 4.3.2. Cai dat cay nhj phan tim kiem ........................................................................143 4.3.3. Cac thao tac ca ban tren cay nhj phan tim kiem ............................................144 4.3.4. Thai gian thirc hien cac phep toan tren cay nhi phan tim kiem ................... 157 4. CAY CAN BANG (AVL T R EE)............................................................................ 158 4.4.1. Cay can bang hoan toan (CCBHT) ................................................................159 4.4.2. Cay can b a n g ................................................................................... ...........- 159 Al TAP CHU'ONG 4 ....................................................................................................166 Chirffng 5 SAP XEP VA TiM KIEM I. c A c PHU’ NG PHAP SAP X E P .......................................................................... 169 O 5.1.1. Khai niem sap x e p ..........................................................................................169 5.1.2. Ba plurang phap sap xep ca ban................................................................... 170 5.1.3. Phircmg phap phan doan ............................................................................... 184 5.1.4. Phutmg phap vun dong ................................................................................. 191 5.1.5. Phirong phap trpn .......................................................................................... 201 5.1.6. Bai tap ap dung.............................................................................................. 211 ET LUAN CHUNG..................................................................................................... 216 .2. TiM KIEM .............................................................................................................. 217 5.2.1. Bai toan tim kiem .......................................................................................... 217 5.2.2. Tim kiem tuan t p ........................................................................................... 217 5.2.3. Tim kiem nhj phan ........................................................................................ 221 5.2.4. Bai tap ap dpng.............................................................................................. 225 Al TAP CHU'ONG 5 ................................................................................................... 229 Al I.If.UTHAM KHAO...............................................................................................231 5
  6. LO I NOI DAU A lgdy nay cong nghe thong tin duqc ung dung rong rai trong moi ITnh 1 V vice cua ddi song xa hoi. Viec xdy dung cac he thong phan mem ung dung de gidi quyet yeu cdu thay the cho con nguoi trd nen pho bien hon bao gia het. Tuy nhien, day luon la mot viec het sue kho khan trong moi giai doqn phat trien, trong do co mot giai doan het sue quan trong do la thiet ke cdu true dir lieu he thong va cac gidi thuat gidi quyet cac yeu cdu. Cuon gido trinh ‘Cau true dir lieu va giai tliuat " ra dai phdn nao giup sinh vien, nhieng nha phat trien phdn mem trong tuomg lai co duqc nhung kien thicc co ban ban ddu cho van de lira chon, xay dung cdu true dir lieu cung nhu cac gidi thuat. Gido trinh nay la tai lieu hoc tap cua mot mon hoc co so cung ten trong Chuong trinh ddo tao ky su cong nghe thong tin. Noi dung gido trinh trinh bay nhieng kien thirc co ban ve cdu true dir lieu va ede gidi thuat xir ly lien quan, giup sinh vien nhqn thirc duqc van de thiet ke vd lua chon cdu true dir lieu vd cac gidi thuat, mot giai doan quan trong trong quy trinh phdt trien phdn mem. De hoc tot mon hoc nay, doi hoi sinh vien phai thanh thao It nhat mot ngon ngir lap trinh co ban nhu Pascal, C/C++ ..... thanh thao cac ky thuat lap trinh nhu: cdu true re nhanh, cdu true lap, ky thuat lap trinh don the (sic dung ham). NOt dung gido trinh duqc chla lam 5 chuong: • Chuong 1. Tong quan ve cdu true die lieu vd gidi thuat, bao gom cac khdi niem ve cdu true dir lieu vd gidi thuat, moi quan he giua chung, van de thiet ke cdu true dir lieu, thiet ke vd phdn tich gidi thuat, danh gia do phirc tap cua gidi thuat. • Chuong 2. De quy vd gidi thuat de quy, mot phuong phap thiet ke gidi thuat khd quan trong, nhat la vdi cac gidi thuat bieu dien cac thao tac xtir iy cdu true die lieu dang cay. 7
  7. • Chuffng 3. Danh sach tuyen tinh, mot lo'ai cdu true dir lieu rat pho bien trong cac bai loan tin hoc. Trong chuong nay chung toi trinh bay cac phuong phap luu trie danh sdeh vd cac thao tac xic ly tuemg ung vdi moi loai danh sdeh. • Chuffng 4. Cay, mot dang cdu true die lieu phi tuyen tinh, chuong nay chu yeu noi ve cay nhi phdn vd cac ung dung cua chung. • Chuffng 5. Sap xep vd tim kiem, tap trung vao van de mo ta, thiet ke vd danh gia cac gidi thudt sap xep vd tim kiem thong dung, cung nhu van de cai dat cac gidi thudt nay trong bai toan ung dung. Cac chuong trinh ung dung vd bai tap trong moi chuong da duoc chon loc d mice do phu hop ddi vdi sinh vien, qua do sinh vien hieu sau sac them ve bai giang, cimg cd them ve ky thudt chi dat chuong trinh vd nam bat duoc mot so kien thirc khdng duoc true tiep gioi thieu trong gido trinh. Trong qua trinh bien soan gido trinh nay, chung toi da nhan duoc rat nhieu y kien dong gop ve noi dung tic phia ede dong nghiep. Chung toi xin chan thanh cam on. Mac dii da cd gang rat nhieu trong khi bien soan, nhung cung khdng the tranh khoi nhung thieu sot. Chung toi mong muon nhan duoc nhung y kien dong gop, chinh sica de noi dung cua gido trinh duoc hoan thien hon trong nhung Ian tai ban sau. Moi y kien dong gop xin giri ve Khoa Cong nghe thong tin - Truong Dai hoc Cong nghiep Ha Noi, hoac giri vao hop thu dien tic: anvanminh 78@yahoo. com. NHOM TAC GIA A n Van M inli - Tran Ilu n g Cirung 8
  8. Chmmg 1 TONG QUAN VE CAU TRUC DU LIEU VA GIAI THUAT Ghuang nay dua ra cac khai niem: Cau true dir lieu, giai thuat va moi quan he giira chung. Ben canh do ta cung dua ra ky thuat de danh gia do phuc tap cua thuat toan va giai thieu cac cau true dir lieu ca ban. ,1. VAI TRO CUA VIEC XAY Dl/NG CAU TRUC DU' LIEU Xay dung mot he thong phan mem la chuyen bai toan thuc te thanh bai toan co the giai quyet tren may tinh. Bat ky bai toan nao cung bao gom cac doi tugng du lieu va cac thao tac xu ly tren cac doi tuomg do. Do do, de xay dung mot mo hinh tin hoc phan anh dugc bai toan thuc te can chu trong den hai van de: • To chuc bieu dien ede ddi tuffng thuc te Cac thanh phan du lieu thuc te rat da dang, phong phu va thuang chua dung nhung quan he nao do vai nhau. Do do, trong mo hinh tin hoc cua bai toan, can phai bieu dien chung mot each thich hap nhat, de vira co the phan anh chinh xac cac du lieu thuc te nay, vira co the de dang dung may tinh de xu ly. Cong viec nay goi la xay d\mg can tn'ic dir lieu cho bai toAn. • Xay dung cac thao tac xu ly du lieu Tir nhung yeu cau xir ly trong thuc te, can tim ra cac giai phap tuang ung de giai quyet yeu cau, moi giai phap can phai xac dinh trinh tu cac thao tac may tinh can thi hanh de cho ra ket qua mong muon. Day la buac xay dung giai thuat cho bai toan. Giai thuat phan anh cac phep xu ly, con doi tugng xir ly cua giai thuat lai la du lieu. Chinh du lieu chua dung cac thong tin can thiet de thuc hien giai thuat. De xac dinh dugc giai thuat phu hop ta can phai biet no tac dong den loai du lieu nao va khi lua chon cau true du lieu cung 9
  9. can phai hieu ro nhung thao tac nao tac dong len du lieu do. Nhu vay trong mot chucrng trinh, cau true du lieu va giai thuat co moi quan he chat che veri nhau, dugc the hien qua cong thuc sau: Cau true dir lieu + Giai thuat = Chirong trinh Chang han khi dua ra khai niem tap hop thi ngucri ta dinh nghTa cac phep toan tren tap hop do (phep hop, phep giao, phep trir,...), hay khi dua ra khai niem menh de ta cung phai dinh nghTa cac phep toan: phep hoi, phep tuyen, keo theo,... trong ngon ngu lap trinh cung tuang tu nhu vay: vi du khi djnh nghTa kieu nguyen thi ta phai chi ra pham vi bieu dien trong 2 byte vai mien gia tri tu -32768 den +32767 va cac thao tac tren kieu du lieu nay trong do co phep chia lay du. Tuy nhien khi dinh nghTa kieu so thuc thi lai khong co phep toan nay. Vai mot cau true dir lieu da chon, se co nhung giai thuat tuang ung, phu hap. Khi cau true du lieu thay doi thuang giai thuat cung phai thay doi theo de tranh viec xu ly gugng ep, thieu tu nhien tren mot cau true khong phu hap. Han nua, mot cau true du lieu tot se giup giai thuat xu ly tren do co the phat huy tac dung tot han, vira nhanh vira tiet kiem, giai thuat cung don gian va de hieu han. Vi du 1.1: Mot chuang trinh quan ly diem thi cua sinh vien can luu cac diem so cua 3 sinh vien. Do moi sinh vien co 4 diem so tuang ung vai 4 mon hoc khac nhau nen du lieu co dang nhu sau: Bang 1.1. Bieu diin du lieu diem cua cac sinh vien Sinh vien Mon 1 Mon 2 Mon 3 Mon 4 SVI 8 7 7 5 SV2 5 4 3 8 SV3 8 6 6 7 Xet thao tac xu ly la xuat diem so cac mon cua timg sinh vien. Gia sir co cac phuang an to chuc luu tr£r nhu sau: Phuang an 1: Sit dung mang mot chieu: Co tat ca 3(SV) * 4(Mon) = 12 diem so can luu tru, do do ta khai bao mang nhu sau: 0
  10. i n t a [12]; Khi do mang a cac phan tir se dugc luu tru nhu sau: 8 7 7 5 5 4 3 8 8 6 6 7 k— ___-yv.__ ____J V__ ___ ^ V* Y SV1 SV2 SV3 Va truy xuat diem so mon j cua sinh vien i la phan tu tai dong i cot j trong bang. Be truy xuat din phin tu nay ta phai sir dung cong thuc xac dinh chi so tuang ung trong mang a: Bang diem (dong i, cot j) => a[ i *so cot + j ] Ngugc lai, vai mot phan tu bat ky trong mang, muon biet do la diem so cua sinh vien nao, mon gi, phai dung cong thuc xac dinh sau: a[i] => bang diem (ddng(i/cot), cot (i % so cot)) Vai phuang an nay, giai thuat xir ly dugc cai dat nhu sau: void xuat ( int a []) { int i, mon, so_mon = 4; for (i = 0; i < 12; i++) 1 sv = i / so_mon; mon = i % so_mon; cout
  11. Va truy xuat diem so mon j cua sinh vien i la phan tur tai dong i cot j trong bang cung chinh la phan tir d dong i cot j trong mang. Bang diem (dong i, cot j) => a[ij] Vdi phuang an nay, giai thuat xir ly dupe cai dat nhu sau: void Xuat ( int a [4] [3]) { int i, j, so_sv = 3, so_mon = 4; for (i = 0; i
  12. Vi du: Mot so tinh huong sau chon cau true luu tru sai - Chon bien so nguyen kieu int de liru tru tien thuang ban hang (dugc ti'nh theo cong thuc tien thuang ban hang = tri gia hang *5%), do vay khi lam tron moi gia tri tien thuang se gay thiet hai cho nhan vien ban hang. Truong hop nay phai sir dung bien so thuc de phan anh dung ket qua cua cong thuc ti'nh thuc te. - Trong truang trung hoc, moi lop co the nhan toi da 25 hoc sinh. Lap hien co 20 hoc sinh, moi thang, moi hoc sinh dong hoc phi 15.000 dong. Chon mot bien so nguyen (kha nang luu tru -32768 + 32767) de luu tru tong so hoc phi cua lap hoc trong thang, neu xay ra truang hap co them 5 hoc sinh nua vao lap thi gia tri tong hoc phi thu dugc la 375000 dong, vugt kha nang luu tru cua bien da chpn, gay ra tinh trang tran so va sai lech. • Phu hffp v&i cac gidi thuat xu ly tren do: Tieu chuan nay giup tang hieu qua cua bai toan, vi?c phat trien cac giai thuat dan gian, tu nhien han va chucmg trinh dat hieu qua cao han ve toe do xir ly. • Tiet kiem tdi nguyen he thong: Cau true du lieu chi nen sir dung tai nguyen vira du de dam nhiem dugc chuc nang cua no. Tieu chuan nay nen can nhac tuy vao tinh huong cu the khi thuc hien bai toan. Neu to chuc sir dung bai toan can co nhung xir ly nhanh thi khi chon cau true du lieu yeu to tiet kiem thai gian xir ly phai dat nang han tieu chuan sir dung toi da bo nho, va ngugc lai. Vi du: Mot so tinh huong chon cau true luu tru lang phi - Sir dung bien int de luu tru mot gia trj cho biet thang hien hanh. Trong tinh huong nay ta chi can sir dung bien kieu byte la du. - Be luu tru danh sach hoc vien trong mot lap, su dung mang 60 phan tir (giai han so hgc vien trong lap toi da la 80). Neu so lugng hpc vien that su it han 60, thi gay lang phi bo nha. Han nua, so hgc vien co the thay doi theo timg ky, timg nam. Trong truang hop nay ta can co mot cau true du lieu linh dong han mang, chang han danh sach moc noi. .3. CAC CAU TRUC DU’ LIEU C O S O TRONG C/C+ + May tinh thuc su chi co the luu tru du lieu a dang nhi phan tho so. NeU muon phan anh dugc du lieu thuc te von rat da dang va phong phu, can phai 13
  13. xay dung nhung phep anh xa, nhung quy tac to chuc plu'rc tap che len tang du lieu tho, nham dua ra nhung khai niem logic ve hinh thuc luu tru khac nhau thucrng dugc goi la kieu die lieu. Nhu da phan tich a phan dau, giua hinh thuc luu tru va cac thao tac xir ly tren do co quan he mat thiet vdi nhau. Tir do co the dua ra mot dinh nghia cho kieu du lieu nhu sau. 1.3.1. Djnh nghTa kieu dll' lieu Kieu du lieu T dugc xac djnh bai bo , vai : - V: tap cac gia trj hop le ma doi tugng kieu T co the luu tru. - O: tap cac thao tac xir ly co the thi hanh tren doi tugng kieu T. Vi du: - Kieu du lieu Ky tu alphabet = vai , Vc = {a -> z, A -> Z} Oc = {Lay ma ASCII cua ky tu, bien doi ky tu thudng thanh ky tu hoa,...} - Kieu du lieu So nguyen = V, = {-32768 -> 32767} Oj = {+, *, /, %, cac phep so sanh, ...} Nhu vay, muon su dung mot kieu du lieu can nam vung ca noi dung du lieu dugc phep luu tru va cac xu ly tac dong tren do. 1.3.2. Cac thuoc tinh cua mot kieu du' lieu Mot kieu du lieu bao gom cac thuoc tinh sau : - Ten kieu dO lieu - Mien gia trj - Kich thude luu tru - Tap cac toan tu tac dong len kieu du lieu. 1.3.3. Cac kieu du' lieu cd ban Thong thudng trong mot he kieu cua ngon ngu lap trinh se co mot so kieu du lieu dugc goi la kieu die lieu dan hay kieu du lieu nguyen tic (atomic). Thong thudng, cac kieu du lieu ca ban bao gom: - Kieu co thu tu rdi rac: so nguyen, ky tu, liet ke. - Kieu khong rdi rac: so thuc. 14
  14. Tuy timg ngon ngu lap trinh, cac kieu dir lieu dinh nghTa san nay co the khac nhau. Chang han, vdi ngon ngir C/C++, cac kieu dir lieu nay chi gom so nguyen, so thuc, ky tu. Va theo quan diem cua C/C++, kieu ky tu thirc chat cung la kieu so nguyen ve mat luu tru, chi khac ve each sir dung. Bailg 1.3. He kieu ciia C/C++ Ten kieu Pham vi Kich thuoc Giai thich int -32768 -> +32767 2 bytes So nguyen char -128 ->+127 1 byte co dau long -2147483648 -> +2147483647 4 bytes unsigned char 0 -> 255 1 byte So nguyen unsigned int 0 -> 65535 2 bytes khong dau unsigned long 0 -> 4294967259 4 bytes float 1.2*1 O'38 -> 3.4* I038 4 bytes So thirc fouble 2.2*1 O'308 -> 1.8*10308 8 bytes (dau cham dong) long double 3.5* 1O'3942 - > 3.4* 104932 10 bytes L.3.4. Cac kieu du" lieu co cau true Khi giai quyet cac bai toan phirc tap, neu ta chi sir dung cac du ca sd la khdng du, do do phai can den cac kieu du lieu co cau true. Chang han thong tin cua mot sinh vien bao gom: ma sinh vien (so nguyen), ho ten sinh vien (chuoi), nam sinh (sd nguyen), que quan (chuoi). Trong trudng hap nay ta khdng thd dung kieu du lieu ca ban dugc ma phai ket hop chung lai vdi nhau de tao nen kieu du lieu cd cau true. Mot cau true dir lieu bao gom mot tap hop cac die lieu nguyen tic, cac thanh phan nay ket hop vdi nhau theo mot phuang thuc dugc quy dinh bdi ngon ngu lap trinh. Da sd cac ngon ngu lap trinh ddu cai dat san mot sd kieu cd cau true ca ban nhu mang, chuoi, tap tin, cdu true... va cung cdp ca che cho ngudi lap trinh tu dinh nghTa kieu du lieu mdi. f.3.4.1. Mang m ot chieu Trong C/C++ va trong nhieu ngon ngu thong dung khac cd mot each dan gian nhat de tao va moc noi cac ddi tugng trong mot tap hop, do la each sap xep cac doi tugng do thanh mot day. Be luu tru day ddi tugng trong may tinh ngudi ta sir dung mang mot chieu. Khi do ta cd mot cau true du lieu dugc goi la mang. Nhu vay, cd the noi mot mang la mot cau true du lieu 15
  15. gom mot day xac dinh cac du lieu thanh phan cung mot kieu (mang so nguyen, mang so thuc, mang cac cau true ,...). Trong C/C++ viec khai bao mot mang kha dem gian, can chi ra kieu du lieu cua phan tu, ten mang, kich thuac mang, mau nhu sau:
  16. .3.4.4. Cau true Cau true la tap hop cac mau du lieu khac nhau cua mot doi tugng (cac mau du lieu co the co kieu khac nhau). Cac mau dir lieu do dugc goi la thanh phan du lieu cua cau true. Cac cau true co the dugc sir dung de tao nen cac kieu du lieu khac, chang han nhu mang cau true. Gia su Ti, T2, ...,Tn la cac kieu da cho, va F 1, F2, ..., Fn la cac ten thanh phan. Khi do ta co the thanh lap kieu cau true vai n thanh phan du lieu, thanh phan thu i co ten la Fj va co kieu Ti vai i = 1,2,..., n. struct ST { T, F ; , T2 F2 ; Tn Fn ; 1 ; ST si, s2, d [20] ; Trong khai bao nay si, s2 la cac bien cau true, d la mot mang cau true gom 20 phan tir bat dau tir d[0] den d[ 19], De truy nhap vao mot thanh phan du lieu cua mot cau true ta thuc hien theo cu phap: . Vidu: si.FI, d [2].Fn Moi gia tri cua kieu cau true ST la mot bo n gia tri (ti, t2,..., tn), trong do t, e Ti (i = 1, 2,..., n). VI du: Khai bao cau true luu lift phiii sO gOm tC s6 Vi UlSu s6 la CdC SO r nguyen struct PhanSo { int tuso; int mauso; 1; llkhai bao cac bien lint trie phdn so PhanSo pi, p2, ps[100]; ilA T U T I HA 17
  17. C) day, p i , p2 la hai bien cau true liru tru mot phan so, con ps la mang luu tru mot day nhieu nhat la 100 phan so, ps dugc goi la mang cau true. 1.3.4.5. Kieu con tro Mot phuang phap quan trong nua de kien tao cac cau true du lieu, do la sir dung con tro. Con tro la bien dugc su dung de luu dia chi cua mot bien khac. Con tro dugc khai bao theo mau: * ; V r d u r i n t *p, x = 30, y ; p = &x; // p chua dia chi cua bien x, hay p tro vao x y = *p; IITruy xuat den vung nha ma con tro p dang tro den (y = 5) x P 30 Hinh /./. Bieu dien con tro Sau nay con tro dugc dung de tao ra kieu danh sach moc noi, hoac cay la cac cau true du lieu rat quan trgng, ta se tim hieu ky han each sir dung con tro trong chuang 3. 1.3.4.6. Kieu file (tep tin) Khac vai cac kieu du lieu truac day, so nguyen, so thuc, mang, chuoi... du lieu dugc luu a bo nha trong. Vi the, khi chuang trinh ket thuc, du lieu cung bi xoa. De khac phuc truang hgp nay, du lieu can dugc luu a bo nha ngoai, do la cac tep tin. - Theo each luu tru nay, khi thao tac can mot ten tep tin (gom ca duong dan), mot con tro tep (FILE * ten_con_tro). - Khi thao tac vai tep tin cung can cac ham xir ly, ban doc co the tim hieu trong cuon sach “Ngon ngu lap trinh C”, tac gia Quach Tuan Ngpc, Nha xuat ban Thong ke. 18
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2