CHƯƠNG VIII DANH SÁCH MÓC NỐI

31 297 0
CHƯƠNG VIII DANH SÁCH MÓC NỐI

Đ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 VIII DANH SẠCH MỌC NÄÚI Ta thỉång sỉí dủng mng cáúu trục âãø xỉí l våïi nhọm dỉỵ liãûu. Âáy l mäüt cạch tiãúp cáûn âụng khi ta biãút trỉåïc chênh xạc säú cạc cáúu trục cáưn cọ. Tuy nhiãn, khi con säú ny khäng r rng, mng s tråí nãn khạ täún kẹm vç chụng phi âỉåüc cáúp phạt â bäü nhåï âãø hoảt âäüng. Bäú nhåï ny âỉåüc âàng k v s khäng dnh cho nhỉïng tạc vủ khạc ngay c khi ta chè dng mäüt sä nh cạc pháưn tỉí mng. Phỉång hỉåïng gii quút cho váún âãư ny l cho phẹp cáúp phạt bäü nhåï cho mäüt cáúu trục måïi khi cáưn thiãút. C cho phẹp ta thỉûc hiãûn âiãưu ny thäng qua cạhc cáúp phạt bäü nhåï âäüng bàòng: malloc() v calloc() Nhỉng cạc cáúu trục nãúu âỉåüc cáúp phạp xong s khäng cọ âm bạo no ràòng cạc cáúu trục s âỉåüc âàût liãn tiãúp nhau trong bäü nhåï. Do âọ âiãưu cáưn thiãút l k thût âãø näúi kãút táút c cạc cáúu trục lải våïi nhau. Phỉång cạch thäng dủng âãø kãút näúi cạc pháưn tỉí âọ lải l dng danh sạch liãn kãút (Linked list) I. Danh saùch lión kóỳt õồn: 1. ởnh nghộa Cuù phaùp: struct <Tón_kióứu_cỏỳu_truùc> { <Kióứu cuớa phỏửn tổớ> <Phỏửn tổớ>; struct <Tón_kióứu_cỏỳu_truùc> *<Tón pointer troớ õóỳn phỏửn cỏỳu truùc tióỳp theo trong Danh saùch> } Vờ duỷ: ởnh nghộa mọỹt danh saùch lión kóỳt õóứ chổùa caùc sọỳ nguyón. struct Point { int info; struct Point *Next; }; 2. Caïc pheïp toaïn trãn danh saïch liãn kãút a. Cáúp phaït bä nhåï cho biãún con troí måïi Cuï phaïp: Point_New = (struct Point_Name *) malloc (sizeof(struct Point_Name) Vê duû: typedef struct Point POINT; POINT Head, Last, p; CreatNode() { p=(POINT *) malloc (POINT) if (Head==(POINT* ) NULL) Head=Last=p; else { Last=Head; while (Last->Next!= (POINT*) NULL) Last=Last->Next; Last->Next=p; Last=p; } printf(“\nInput information for Node”); scanf(“%d”, p->.info); Last->Next=(POINT *) NULL; return; } b. Xoạ mäüt con tr: Cụ phạp: free(Point_Variable) Gii phọng vng nhåï âỉåüc tr båíi Point_Variable c. Cạc phẹp toạn thỉång dng trong danh sạch liãn kãút  Tảo mäüt pháưn tỉ ca danh sạch Âiãưu phi lm l cáúp phạp bäü nhåï cho cáúu trục v tr vãư con tr tr âãún vng nhåï ny. Vê dủ: POINT *CreatNode() { POINT *p; p = (POINT *) malloc (sizeof(POINT)); if (p==NULL) { printf(“Malloc falled.\n”); exit(1); } printf(“Input data for Node info = ”); scanf(“%d”, p->info); p->Next = NULL return p; } Bọứ sung phỏửn tổ vaỡo danh saùch Haỡm CreatNode() chố cỏỳp phaùt bọỹ nhồù nhổng noù khọng nọỳi phỏửn tổớ naỡy vaỡo danh saùch. óứ laỡm õióửu naỡy, ta cỏửn thóm mọỹt haỡm nổợa, goỹi laỡ haỡm AddNode(). ổồỹc õởnh nghộa nhổ sau: static POINT *Head; void AddNode(POINT *e) { POINT *p; if (Head ==NULL) { Head = e; return; } for (p=Head; p->Next!=NULL; p=p->Next); p->Next=e; } Chuù yù: Bióỳn Head laỡ con troớ troớ õóỳn õỏửu danh saùch, nón cỏửn õổồỹc khai baùo õỏửu chổồng trỗnh.(Sau phỏửn khai õởnh nghộa kióứu con troớ). Cheỡn phỏửn tổ vaỡo danh saùch óứ cheỡn phỏửn tổớ vaỡo danh saùch lión kóỳt, ta phaới chố roớ phỏửn tổớ mồùi seợ õổồỹc cheỡn vaỡo vở trờ naỡo.Sau õỏy laỡ haỡm seợ thổỷc hióỷn cọng vióỷc trón. . tióỳp theo trong Danh saùch> } Vờ duỷ: ởnh nghộa mọỹt danh saùch lión kóỳt õóứ chổùa caùc sọỳ nguyón. struct Point { int info; struct Point *Next; }; 2. Caïc pheïp toaïn trãn danh saïch liãn. troớ troớ õóỳn õỏửu danh saùch, nón cỏửn õổồỹc khai baùo õỏửu chổồng trỗnh.(Sau phỏửn khai õởnh nghộa kióứu con troớ). Cheỡn phỏửn tổ vaỡo danh saùch óứ cheỡn phỏửn tổớ vaỡo danh saùch lión kóỳt,. phỏửn cỏỳu truùc tióỳp theo trong Danh saùch>,<Tón pointer troớ õóỳn phỏửn tổớ cỏỳu truùc trổồùc õoù trong danh saùch>; } Vờ duỷ: ởnh nghộa mọỹt danh saùch lión kóỳt õóứ chổùa caùc

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

Từ khóa liên quan

Mục lục

  • CHÆÅNG VIII DANH SAÏCH MOÏC NÄÚI

  • 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

  • Đang cập nhật ...

Tài liệu liên quan