Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

CC THAO TC TRN DANH

SCH LIN KT N C++


- Ci t:

void XoaDau(LIST &l)


{
if(l.pHead!=NULL)
{
NODE *pXoa=l.pHead;
l.pHead=l.pHead->pNext;
delete pXoa;
if(l.pHead==NULL)//Trng hp danh sch c 1 phn t
l.pTail=NULL;
}
}
6.2. Xa phn t cui
(SV t v hnh minh ha)
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

- u vo: DSLK n l
- Kt qu: DSLK n l sau khi xa phn t cui
- Gii thut:

*Trng hp 1: Nu l rng th kt thc


*Trng hp 2: Nu danh sch c mt phn t th xa u
Ngc li:
B1: pTruoc l con tr ng trc con tr cui ca danh sch
B2: Cho pTruoc tr k tip ti NULL
B3: Xa con tr cui
B4: Gn con tr cui l pTruoc
- Ci t:

void XoaCuoi(LIST &l)


{
if(l.pHead!=NULL)
{
if(l.pHead==l.pTail)
XoaDau(l);
else
{
NODE *pTruoc=TimNodeTruocp(l, l.pTail);
pTruoc->pNext=NULL;
delete l.pTail;
l.pTail=pTruoc;
}
}
}
6.3. Xa phn t p cho trc
(SV t v hnh minh ha)
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

- u vo: DSLK n l, node p cn xa


- Kt qu: DSLK n l sau khi xa p
- Gii thut:
*Trng hp 1: Nu p l con tr u th xa u
*Trng hp 2: Nu p l con tr cui th xa cui
Ngc li:
B1: pTruoc l con tr ng trc p
pSau l con tr ng sau p
B2: Xa p
B3: Cho pTruoc tr vo pSau
- Ci t:
void Xoap(LIST &l, NODE *p)
{
if(p==l.pHead)
XoaDau(l);
else if(p==l.pTail)
XoaCuoi(l);
else
{
NODE *pTruoc=TimNodeTruocp(l, p);
NODE *pSau = p->pNext;
delete p;
pTruoc->pNext = pSau;
}
}

6.4. Xa phn t ng trc phn t cho trc


(SV t v hnh minh ha)
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

.....................................................................................................................
......................
- u vo: DSLK n l, node p xc nh node cn xa
- Kt qu: DSLK n l sau khi xa trc phn t p
- Gii thut:
*Trng hp 1: Nu p l con tr u th kt thc
*Trng hp 2: (p khc con tr u)
B1: pTruoc l con tr ng trc p
B2: Xa pTruoc
- Ci t:

void XoaTruocp(LIST &l, NODE *p)


{
if(p!=l.pHead)
{
Trang
NODE *pTruoc=TimNodeTruocp(l, p);
Xoap(pTruoc);
}
}
6.5. Xa phn t ng sau phn t cho trc
(SV t v hnh minh ha)
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

- u vo: DSLK n l, node p xc nh node cn xa


- Kt qu: DSLK n l sau khi xa phn t sau p
- Gii thut:
*Trng hp 1: Nu p l con tr cui th kt thc
*Trng hp 2: (p khc con tr cui)
B1: pSau l con tr ng sau p
B2: Xa pSau
- Ci t:

void XoaSaup(LIST &l, NODE *p)


{
if(p!=l.pTail)
{
NODE *pSau=p->pNext;
Xoap(pSau);
}
}
6.6.Hy ton b danh sch
(SV t v hnh minh ha)
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

- u vo: DSLK n l
- Kt qu: DSLK n l sau khi hy (rng)

- Gii thut:
Trong khi con tr u khc NULL th xa u
- Ci t:

void Huy(LIST &l)


{
while(l.pHead)
XoaDau(l);
}

You might also like