CÊu tróc d÷ liÖu mÉu víi C++ Lêi c¶m ¬n Tríc tiªn, t«i xin bµy tá lßng biÕt ¬n s©u s¾c tíi thÇy gi¸o híng dÉn TS §oµn V¨n Ban, phßng CSDL< ViÖn C«ng NghÖ Th«ng Tin thuéc trung t©m Khoa Häc Tù Nhiªn vµ C«ng NghÖ Quèc Gia ®· tËn t×nh gióp ®ì t«i hoµn thµnh bµi luËn v¨n nµy. T«i xin ch©n thµnh c¶m ¬n c¸c thÇy, c« gi¸o khoa C«ng NghÖ Th«ng Tin trêng §HDL §«ng §« ®· gi¶ng d¹y vµ gióp ®ì em trong qu¸ tr×nh häc tËp ë trêng. Cuèi cïng, xin ch©n thµnh c¶m ¬n nh÷ng ngêi th©n trong gia ®×nh vµ b¹n bÌ ®· gióp ®ì, ®éng viªn trong qu¸ tr×nh häc tËp. Hµ néi th¸ng 6 n¨m 2000 more information and additional documents connect with me here: http://facebook.com/ngphutien/ file đồ án kèm theo: Cau truc du lieu voi C++.rar 259 KB https://mega.nz/#!FgU3nAKa!-VgkoAGeGZtP3Q2LwN2LKMQXE4Uj67Q4nbAJrT4aGB8.
CÊu tróc d÷ liÖu mÉu víi C++ Môc lôc Lêi c¶m ¬n PhÇn A Ch¬ng I. Ng«n ng÷ C++ vµ lËp tr×nh híng ®èi tîng I. LËp tr×nh híng ®èi tîng lµ g×?. C¸c u ®iÓm cña lËp tr×nh híng ®èi tîng.
Trõu tîng ho¸ d÷ liÖu vµ bao gãi th«ng tin. T¬ng øng béi. TruyÒn th«ng b¸o. Nh÷ng øng dông cña lËp tr×nh híng ®èi tîng.11 Ch¬ng II.
ThiÕt kÕ vµ cµi ®Æt c¸c líp ®èi tîng II. Khai b¸o líp tªn ®èi tîng. T¹o lËp c¸c líp ®èi tîng. C¸c thµnh phÇn d÷ liÖu.
TÝnh t¬ng øng béi. ChuyÓn ®æi kiÓu. KÕ thõa vµ sù më réng c¸c líp. KÕ thõa ph©n cÊp.29 more information and additional documents connect with me here: http://facebook.com/ngphutien/ file đồ án kèm theo: Cau truc du lieu voi C++.rar 259 KB https://mega.nz/#!FgU3nAKa!-VgkoAGeGZtP3Q2LwN2LKMQXE4Uj67Q4nbAJrT4aGB8.
CÊu tróc d÷ liÖu mÉu víi C++ II. CÊu tö trong c¸c líp dÉn xuÊt.32 Ch¬ng III. Hµm mÉu cã nhiÒu tham sè h×nh thøc. Hµm mÉu cã nhiÒu tham sè kh¸c nhau.
Líp mÉu cã tham sè .39 Ch¬ng IV CÊu tróc d÷ liÖu vµ c¸c líp mÉu IV. CÊu tróc d÷ liÖu. Lu tr÷ ng¨n xÕp b»ng m¶ng. X©y dùng líp ng¨n xÕp mÉu.
X©y dùng líp hµm ®îi mÉu. Hµng quay trßn. Danh s¸ch liªn kÕt.6 Danh s¸ch liªn kÕt ®¬n.7 Danh s¸ch liªn kÕt ®«i.74 more information and additional documents connect with me here: http://facebook.com/ngphutien/ file đồ án kèm theo: Cau truc du lieu voi C++.rar 259 KB https://mega.nz/#!FgU3nAKa!-VgkoAGeGZtP3Q2LwN2LKMQXE4Uj67Q4nbAJrT4aGB8. CÊu tróc d÷ liÖu mÉu víi C++ PhÇn B I.
Ch¬ng tr×nh qu¶n lý sinh viªn. Ch¬ng tr×nh thèng kª tõ tiÕng ViÖt.92 Tµi liÖu tham kh¶o.93 more information and additional documents connect with me here: http://facebook.com/ngphutien/ file đồ án kèm theo: Cau truc du lieu voi C++.rar 259 KB https://mega.nz/#!FgU3nAKa!-VgkoAGeGZtP3Q2LwN2LKMQXE4Uj67Q4nbAJrT4aGB8. CÊu tróc d÷ liÖu mÉu víi C++ Ch¬ng I Ng«n ng÷ C++ vµ lËp tr×nh híng ®èi tîng I. LËp tr×nh híng ®èi tîng lµ g×? LËp tr×nh híng ®èi tîng dùa trªn nÒn t¶ng lµ c¸c ®èi tîng.
§èi tîng ®îc x©y dùng trªn c¬ së g¾n cÊu tróc d÷ liÖu víi c¸c phÐp to¸n sÏ thÓ ®îc ®óng c¸ch mµ chóng ta suy nghÜ, bao qu¸t vÒ thÕ giíi thùc. [3] LËp tr×nh híng ®èi tîng cho phÐp chóng ta kÕt hîp nh÷ng tri thøc bao qu¸t vÒ c¸c qu¸ tr×nh víi nh÷ng kh¸i niÖm trõu tîng ®îc sö dông trong m¸y tÝnh. LËp tr×nh híng ®èi tîng lµ ph¬ng ph¸p lËp tr×nh lÊy ®èi tîng lµm nÒn t¶ng ®Ó x©y dùng thuËt gi¶i, x©y dùng ch¬ng tr×nh, lµ c¸ch tiÕp cËn ®Ó ph©n chia ch¬ng tr×nh thµnh c¸c ®¬n thÓ (modul) b»ng c¸ch t¹o ra c¸c vïng bé nhí cho c¶ d÷ liÖu lÉn hµm vµ chóng sÏ ®îc sö dông nh c¸c mÉu ®Ó t¹o ra b¶n sao tõng ®¬n thÓ khi cÇn thiÕt. §èi tîng ë ®©y ®îc xem nh lµ vïng ph©n chia chia bé nhí trong m¸y tÝnh ®Ó lu tr÷ d÷ liÖu vµ tËp c¸c hµm t¸c ®éng trªn d÷ liÖu g¾n víi chóng.
Kh¸i niÖm “Híng ®èi tîng” ®îc x©y dùng trªn nÒn t¶ng cña kh¸i niÖm “LËp tr×nh cã cÊu tróc“ vµ ”Sù trõu tîng ho¸ d÷ liÖu” sù thay ®æi c¨n b¶n lµ ë chç mét ch¬ng tr×nh híng ®èi tîng ®îc thiÕt kÕ xoay quanh c¸c d÷ liÖu mµ ta lµm viÖc trªn nã, h¬n lµ theo b¶n th©n chøc n¨ng cña ch¬ng tr×nh. LËp tr×nh híng ®èi tîng ®Æt träng t©m vµo ®èi tîng, yÕu tè quan träng trong qu¸ tr×nh ph¸t triÓn ch¬ng tr×nh vµ nã kh«ng cho phÐp d÷ liÖu chuyÓn ®éng tù do trong hÖ thèng. D÷ liÖu ®îc g¾n chÆt víi tõng hµm thµnh c¸c vïng riªng mµ c¸c hµm ®ã t¸c ®éng lªn vµ nã ®îc b¶o vÖ cÊm c¸c hµm ngo¹i lai truy nhËp tuú tiÖn. Tuy nhiªn c¸c ®èi tîng cã thÓ trao ®æi th«ng tin víi nhau th«ng qua viÖc trao ®æi th«ng b¸o.[5] more information and additional documents connect with me here: http://facebook.com/ngphutien/ file đồ án kèm theo: Cau truc du lieu voi C++.rar 259 KB https://mega.nz/#!FgU3nAKa!-VgkoAGeGZtP3Q2LwN2LKMQXE4Uj67Q4nbAJrT4aGB8.
CÊu tróc d÷ liÖu mÉu víi C++ Tãm l¹i, so s¸nh lËp tr×nh cÊu tróc lÊy ch¬ng tr×nh con lµm nÒn t¶ng: Ch¬ng tr×nh = CÊu tróc d÷ liÖu + Gi¶i ThuËt Trong lËp tr×nh híng ®èi tîng chóng ta cã : §èi tîng =D÷ LiÖu + Hµnh vi cña d÷ liÖu LËp tr×nh híng ®èi tîng cã nh÷ng ®Æc tÝnh chñ yÕu sau: TËp trung vµo d÷ liÖu thay cho c¸c hµm. Ch¬ng tr×nh ®îc chia thµnh tËp c¸c líp ®èi tîng. CÊu tróc d÷ liÖu ®îc thiÕt kÕ sao cho ®Æc t¶ c¸c ®èi tîng. C¸c hµm ®îc x¸c ®Þnh trªn c¸c vïng d÷ kiÖu cña ®èi tîng ®îc g¾n víi nhau trªn cÊu tróc cña d÷ liÖu ®ã.
D÷ liÖu ®îc bao bäc, che dÊu vµ kh«ng cho phÐp c¸c hµm ngo¹i lai truy nhËp tù do. C¸c ®èi tîng trao ®æi th«ng tin víi nhau qua c¸c hµm. D÷ liÖu vµ c¸c hµm míi cã thÓ dÔ dµng bæ xung vµo ®èi tîng nµo ®ã khi cÇn thiÕt. Ch¬ng tr×nh ®îc thiÕt kÕ theo c¸ch tiÕp cËn bottom-up.
C¸c u ®iÓm cña lËp tr×nh híng ®èi tîng Th«ng qua nguyªn lý thõa kÕ, chóng ta cã thÓ lo¹i bá ®îc nh÷ng ®o¹n ch¬ng tr×nh lÆp l¹i, d thõa trong qu¸ tr×nh m« t¶ c¸c líp vµ kh¶ n¨ng sö dông c¸c líp ®· ®îc x©y dùng. Ch¬ng tr×nh ®îc x©y dùng tõ c¸c ®¬n thÓ (module) trao ®æi víi nhau nªn viÖc thiÕt kÕ vµ lËp tr×nh sÏ ®îc thùc hiÖn theo quy tr×nh more information and additional documents connect with me here: http://facebook.com/ngphutien/ file đồ án kèm theo: Cau truc du lieu voi C++.rar 259 KB https://mega.nz/#!FgU3nAKa!-VgkoAGeGZtP3Q2LwN2LKMQXE4Uj67Q4nbAJrT4aGB8. CÊu tróc d÷ liÖu mÉu víi C++ nhÊt ®Þnh chø kh«ng ph¶i dùa vµo kinh nghiÖm vµ kü thuËt nh tríc. §iÒu nµy ®¶m b¶o rót ng¾n ®îc thêi gian x©y dùng hÖ thèng vµ t¨ng n¨ng xuÊt lao ®éng.
Nguyªn lý che dÊu th«ng tin gióp ngêi lËp tr×nh t¹o ra ®îc nh÷ng ch¬ng tr×nh an toµn kh«ng bÞ thay ®æi bëi nh÷ng ch¬ng tr×nh kh¸c. Cã thÓ x©y dùng ®îc c¸c ¸nh x¹ ®èi tîng cña bµi to¸n vµo ®èi tîng cña ch¬ng tr×nh. C¸ch tiÕp cËn thiÕt kÕ ®Æt träng t©m vµo d÷ liÖu gióp ta x©y dùng ®îc m« h×nh chi tiÕt vµ gÇn víi d¹ng cµi ®Æt h¬n. Nh÷ng hÖ thèng híng ®èi tîng dÔ më réng, n©ng cÊp thµnh nh÷ng hÖ thèng lín h¬n.
Kü thuËt truyÒn th«ng b¸o trong viÖc tao trao ®æi th«ng tin gi÷a c¸c ®èi tîng gióp cho viÖc m« t¶ giao diÖn víi c¸c hÖ thèng bªn ngoµi ®¬n gi¶n h¬n. Cã thÓ qu¶n lý ®é phøc t¹p cña nh÷ng s¶n phÈm phÇn mÒm. §èi tîng §èi tîng lµ thùc thÓ ®îc x¸c ®Þnh trong thêi h¹n hÖ thèng híng ®èi tîng ho¹t ®éng. Nh vËy ®èi tîng lµ con ngêi, sù vËt, thiÕt bÞ, b¶ng d÷ liÖu cÇn xö lý trong ch¬ng tr×nh.
Mçi ®èi tîng gåm cã: tËp c¸c thuéc tÝnh (attribute) vµ tËp c¸c hµm (function) ®Ó xö lý c¸c thuéc tÝnh ®ã.[5] Mét ®èi tîng cã thÓ ®îc minh ho¹ nh sau : §èi Tîng Thuéc TÝnh Hµm H×nh 1. CÊu tróc tæng qu¸t cña mét ®èi tîng. more information and additional documents connect with me here: http://facebook.com/ngphutien/ file đồ án kèm theo: Cau truc du lieu voi C++.rar 259 KB https://mega.nz/#!FgU3nAKa!-VgkoAGeGZtP3Q2LwN2LKMQXE4Uj67Q4nbAJrT4aGB8. CÊu tróc d÷ liÖu mÉu víi C++ Ch¼ng h¹n chóng ta xÐt ®èi tîng h×nh ch÷ nhËt bao gåm c¸c thuéc tÝnh (x1,y1) to¹ ®é gãc trªn bªn tr¸i, d, r lµ chiÒu dµi chiÒu réng cña h×nh ch÷ nhËt.
C¸c hµm: nhËp sè liÖu cho h×nh ch÷ nhËt, hµm tÝnh diÖn tÝch, chu vi vµ hµm hiÓn thÞ. Nh vËy ®èi tîng h×nh ch÷ nhËt cã thÓ ®îc m« t¶ nh sau: §èi tîng: h×nh ch÷ nhËt Thuéc tÝnh: x1, y1, d, r Ph¬ng thøc: NhËp sè liÖu DiÖn tÝch Chu vi HiÓn thÞ H×nh 2. M« t¶ ®èi tîng h×nh ch÷ nhËt. C¸c líp ®èi tîng Mét tËp d÷ liÖu vµ c¸c hµm cña mét tËp ®èi tîng cã thÓ ®îc xem nh mét kiÓu d÷ liÖu ®îc ®Þnh nghÜa bëi ngêi sö dông.
KiÓu d÷ liÖu ë ®©y ®îc gäi lµ líp (class), ®ã lµ mét tËp c¸c thuéc tÝnh vµ c¸c hµm m« t¶ thÕ giíi thùc, mét ®èi tîng lµ thÓ hiÖn cña mét líp. Líp lµ kh¸i niÖm trung t©m cña lËp tr×nh híng ®èi tîng, nã lµ sù më réng cÊu tróc (struct) cña C vµ b¶n ghi (record) cña Pascal. Trong lËp tr×nh híng ®èi tîng, líp hÇu nh ®ång nhÊt víi kiÓu d÷ liÖu trõu tîng. Líp lµ kh¸i niÖm tÜnh, cã thÓ nhËn biÕt ngay tõ v¨n b¶n ch¬ng tr×nh.
Ngîc l¹i ®èi tîng lµ kh¸i niÖm ®éng, nã ®îc x¸c ®Þnh trong bé nhí cña m¸y tÝnh n¬i ®èi tîng chiÕm mét vïng cña bé nhí lóc thùc hiÖn ch¬ng tr×nh. §èi tîng ®îc t¹o ra ®Ó xö lý th«ng tin, thùc hiÖn nhiÖm vô ®îc thiÕt kÕ vµ sau ®ã bÞ huû bá khi ®èi tîng ®ã hÕt vai trß. Khi mét líp ®îc ®Þnh nghÜa, th× nã cã thÓ t¹o ra sè more information and additional documents connect with me here: http://facebook.com/ngphutien/ file đồ án kèm theo: Cau truc du lieu voi C++.rar 259 KB https://mega.nz/#!FgU3nAKa!-VgkoAGeGZtP3Q2LwN2LKMQXE4Uj67Q4nbAJrT4aGB8. CÊu tróc d÷ liÖu mÉu víi C++ lîng c¸c ®èi tîng tuú ý cña líp ®ã.
Nh vËy líp lµ tËp hîp c¸c ®èi tîng cïng kiÓu. Sù kh¸c biÖt gi÷a líp vµ ®èi tîng còng gièng nh sù kh¸c biÖt gi÷a tËp hîp c¸c phÇn tö vµ mét phÇn tö trong tËp hîp. Trõu tîng ho¸ d÷ liÖu vµ bao gãi th«ng tin ViÖc ®ãng gãi d÷ liÖu vµ c¸c hµm vµo mét ®¬n vÞ cÊu tróc ®îc xem nh mét nguyªn t¾c (che dÊu) th«ng tin, d÷ ®îc tæ chøc sao cho thÕ giíi bªn ngoµi kh«ng truy nhËp ®îc vµo mµ chØ cho phÐp c¸c hµm trong cïng líp hoÆc trong nh÷ng líp cã quan hÖ thõa víi nhau ®îc quÒn truy nhËp. ChÝnh c¸c hµm thµnh phÇn cña líp sÏ ®ãng vai trß nh lµ giao diÖn gi÷a d÷ liÖu cña ®èi tîng vµ phÇn cßn l¹i cña ch¬ng tr×nh.
Nguyªn t¾c bao gãi d÷ liÖu ®Ó ng¨n cÊm sù truy nhËp trùc tiÕp trong lËp tr×nh ®îc gäi lµ che dÊu th«ng tin. Trõu tîng ho¸ lµ c¸ch biÓu diÔn nh÷ng ®Æc tÝnh chÝnh vµ bá qua nh÷ng chi tiÕt vôn vÆt hoÆc nh÷ng gi¶i thÝch. §Ó x©y dùng c¸c líp chóng ta ph¶i sö dông kh¸i niÖm trõu tîng ho¸. Trong lËp tr×nh híng ®èi tîng líp ®îc sö dông nh d÷ liÖu trõu tîng.