Tải bản đầy đủ (.pdf) (24 trang)

C c++bài 10 – danh sách liên kết

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.37 MB, 24 trang )

Chủđề:[C/C++]Bài10–Danhsáchliênkết
Trangchủ Forum Thànhviên FreelancerViệtNam Kiếmtiềnonline
Diễnđàn Tinnhắnriêng HỏiĐáp Lịch Cộngđồng Thiếtlậpnhanh LiênkếtNhanh
Thoáttominhphong
Diễnđàn Lậptrìnhứngdụng C/C++ Tàiliệu,Thủthuật
+TrảlờiChủđề
Kếtquả1đến10của13
trang1của2 1 2 cuối
CôngcụChủđề ĐánhgiáChủđề Hiểnthị
03092013, 08:42PM
Ngàythamgia:
Bàiviết:
Thanks:
Thanked:714in426posts
Apr2012
1,358
357
[C/C++]Bài10–Danhsáchliênkết
Bài10–Danhsáchliên
kết
Trongbàinàychúngtasẽtìmhiểu2
phầnchính:
Danhsáchliênkếtcàiđặt
bằngmảng
Danhsáchliênkếtcàiđặt
bằngcontrỏ
+/Danhsáchliênkếtđơn
+/Danhsáchliênkếtkép
Trongmỗiphầnchúngtasẽtìmhiểucác
vấnđềcơbảnsau:
Càiđặtdanhsách(Khaibáo)


Khởitạodanhsáchrỗng
Kiểmtradanhsáchrỗng
(danhsáchđầykhicàibằng
mảng)
Chènphầntửvàođầudanh
sách
Chènphầntửvàovịtríthứk
trongdanhsách
#1
Advanced

nguyenvanquan7826
Nhậpdanhsách
Xuấtdanhsách
Tìm1phầntửtrongdanh
sách
Xóaphầntửđầutiêntrong
danhsách
Xóaphầntửthứktrong
danhsách
XóaphầntửcónộidungX
trongdanhsách
1/Danhsáchliênkếtcàibằngmảng
Loạidanhsáchnàythườngđượcgọilà
danhsáchkếtiếp.Bâygiờtasẽlàmviệc
vớicácvấnđề:
1.1/Càiđặt(khaibáo)danhsách
Đểkhaibáodanhsáchnàytacầncó1
mảngcósốphầntửtốiđalàNcókiểu
dữliệulàitem(itemnàylàkiểudữliệu

tổngquan,khilàmnósẽlàkiểuint,float
haykiểucấutrúcsinhviên).Cầnthêm1
biếnsizethểhiệnsốphầntửhiệncócủa
danhsách.
Cụthểnhưsau:
1.2/Khởitạodanhsáchrỗng
Danhsáchcủatarỗngkhisốphầntử
trongdanhsáchbằng0.Vìvậychỉcần
khaibáotrườngsizecủatabằng0là
được.
1.3/Kiểmtradanhsáchrỗng,danh
sáchđầy
Đểkiểmtradanhsáchrỗnghayđầyta
chỉviệcxemsốphầntửcủadanhsách
cóbằng0haykhông(rỗng)vàcóbằng
Nhaykhông(đầy).
1.4/Chènphầntửvàovịtríktrong
danhsách
Trướckhichènphầntửvàotrongdanh
sáchchúngtanênxâydựng1hàmtrả
vềdữliệu(nhậpvàodữliệu)củaphần
tửcầnchènđó.
Sauđótiếnhànhchèn:
Trongquátrìnhchènchúngtacầnkiểm
traxemdanhsáchđầychưa,nhậpvịtrí
kcầnchènvàkiểmtranó,nếuphùhợp
(0<k<=N)thìsẽtiếnhànhchèn.
Đểchènđượcphầntửxvàovịtríktrong
danhsách(trongmảng)tacầndùng1
vòngforđểdichuyểncácphầntửtừvị

tríkvềphíacuốimảng,sauđóchènx
vàovịtrík.Cuốicùngtatăngsizelên1
đơnvị.
1.5/Nhậpdanhsách
Nhậpnhưbìnhthườngvớimảng
1.6/Tìmphầntửxtrongdanhsách
Taduyệttừđầuđếncuốidanhsáchnếu
cógiátrịxthìđưaravịtrícủanó.
1.7/Xóaphầntửthứktrongdanh
sách
Trướckhixóataphảikiểmtraxemdanh
sáchcórỗngkhông.Nếukhôngrỗngta
nhậpvàovịtrícầnxóavàkiểmtra(phù
hợpnếu0<k<=N).
Tadùngvòngforchạyđếnvịtríthứk,
sauđódồncácphầntửtừk+1vềtrước
1đơnvị.tuynhiêntacầnlưulạigiátrị
củaphầntửxóatrướckhixóađểgiữlại
thôngtinnếutacầndùngđếnnó.Cuối
cùnglàgiảmsizexuống1đơnvị.
1.8/Xóaphầntửcónộidungxtrong
danhsách
Đểxóaphầntửcónộidungxtrongdanh
sáchtatiếnhànhtìmphầntửxtrước
bằnghàmsearchsauđógiátrịtrảvềlà
vịtrícủax,tatiếptụcsửdụnghàm
del_kđểxóaphầntửởvịtrímàtatìm
được.
Vậylàchúngtađãxâydựngxongcác
thaotáccơbảntrêndanhsáchcàiđặt

bằngmảng.Cácbạnghépcáchàmvào
cùngvớihàmmain()gọicáchàmtrênlà
ok.
Cácbạncóthểthamkhảotạiđây:
/>2.Danhsáchliênkếtđơn(gọinhanh
làdanhsáchliênkếtDSLK)
Trongcácbàitrướcmìnhviếtcodetấtcả
đềulàchuẩnC,nhưngtừbâygiờmình
sẽxenlẫnchútcấutrúccủaC++trong
đó.
MộtsốvấnđềtacầnlàmtrongDSLK:
2.1Giốngnhưtrongphầndanhsách
liênkếtxâydựngbởimảng,bâygiờ
tasẽcàiđặtdanhsách:
Danhsáchliênkếtcóthểđượcmôtả
nhưsau:
2.2Khởitạodanhsáchrỗng
Trongcácbàitrướcđểcóthểthayđổi
đượcgiátrịcủađốimàtatruyềnvào
hàmtathưòngdùngbiếncontrỏ và
tronglờigọihàmtacầncó&trướcbiến
tuynhiênkhichúngtasửdụngcách
truyềnđịachỉngaykhikhởitạohàmthì
tronglờigọihàmtatiênhànhtruyền
biếnbìnhthưòngmàkhôngphảilấyđịa
chỉ(thêm&)trướcbiếnnữa.
(Đâylàmộtcáchtruyềnđịachỉchobiến
tronghàmởC++.)
2.3Kiểmtradanhsáchrỗnghay
không

Cáinàykhỏigiảithíchnhiều:
2.4Tínhđộdàidanhsách
Tadùng1Nodeđểduyệttừđầuđến
cuối,vừaduyệtvừađếm
2.5Tạo1Nodetrongdanhsách
Việctạo1Nodechứathôngtintrong
danhsáchsẽgiúptadễdàngchèn,xóa
vàquảnlýdanhsáchhơn.Trướctiênta
sẽphảicấpphátvùngnhớchoNodevà
sauđógánDatavàolàok
2.6ChènNodePvàovịtríđầutiên
ĐểchènPvàođầudanhsáchtrướctiên
tachoPtrỏđếnL,sauđóchỉviệcchoL
trỏlạivềPlàok
2.7ChènNodePvàovịtríktrong
danhsách:
Trướctiêntakiểmtravịtríchèncóhợp
lệkhông,nếuhợplệkiểmtratiếpchèn
vàovịtrí1hayk>1.Vớik>1tathực
hiệnduyệtbằngNodeQđếnvịtrík1
sauđóchoP>NexttrỏđếnNodeQ
>Next,tiếpđếnchoQ>NexttrỏđếnP
2.8Tìmphầntửcogiátrịxtrong
danhsách:
Taduyệtdanhsáchchođếnkhitìmthấy
hoặckếtthúcvàtrảvềvịtrínếutìm
thấy,ngượclạitrảvề0
2.9Xóaphầntửởvịtríđầutiên
Trướctiêntalưugiátrịcủaphầntửđầu
tiênvàobiếnx,sauđótiềnhànhchoL

trỏđếnL>Next
2.10Xóaphầntưởvịtrík
DùngPduyệtđếnvịtrík1vàtiếnhành
choP>Nexttrỏđếnphầntưkếtiếpk
màbỏquak.Lưuýtronghìnhmình
quênkhônglưulạigiátrịcầnxóatuy
nhiêncácbạncầnlưulạinhưkhixóaở
vịtríđầutiên.
2.11Xóaphầntửcógiátrịx
Đongiảnlàtatìmxtrongdanhsách
bằnghàmSearchvàxóatạivịtrítìm
thấymàtanhậnđược
Đếnđâycoinhưđãhoànthiệnphần
danhsáchliênkếtđơn. .
Cácbạncóthểthamkhảocodehoàn
chỉnhtạiđây: />3.Danhsáchliênkếtkép
Danhsáchliênkếtképcũnglàmộtdạng
danhsáchliênkếtnhưngmỗiphầntử
liênkếtvớiphầntửđứngtrướcvàsaunó
trongdanhsách
3.1Càiđặtdanhsách:
Cấutrúccủa1Nodetrongdanhsáchliên
kếtképtươngđốigiốngvớiDSLKD
nhưngcóthêmmộtcontrỏtrỏvềNode
trướcnó
CấutrúccủaDSLKKkhôngnhưDSLKD
có1ContrỏtrỏđếnđầuDS,nhưng
DSLKKngoàicontrỏtrỏđếnđầudanh
sáchcòncóthêm1contrỏtrỏđếnNode
cuốicủadanhsách

3.2Mộtsốthaotácchính
3.3Khởitạovàkiểmtrarỗng
Khởitạotacho2contrỏđầuvàcuốitrỏ
vêNULL,Khikiểmtrarỗngthichỉcần
xemcontrỏđầucótrỏvềNULLkhônglà
đủ
3.4Độdàidanhsách:
ĐểtìmđộdàicủaDSLKKtahoàntoàncó
thểlàmgiốngnhưDSLKD,tứcdùngcon
trỏduyệttừđầuđếncuối,nhưngtrong
DSLKKtacóthểdùng2contrỏởđầuvà
cuốiđểđếm
3.5Tạo1NodePchứathôngtin
3.6Chènphầntửvàovịtríđầutiên:
Trướckhichènvàođầudanhsáchcần
kiểmtraxemdanhsáchrỗnghaykhông.
NếudanhsáchrỗngtachoHeadvàTail
đềutrỏđếnP.Nếukhôngrỗngthựchiện
chèn.
3.7Chènphầntửvàocuốidanhsách
tươngtựnhưđầudanhsách
3.8Chènphầntửvàovịtrík
Trướckhichènvàovịtríkcầnkiểmtra
vịtríkcóphùhợp,cóphảiđầudanh
sáchhaycuốidanhsách.Nếuchènvào
giữadanhsáchtathựchiệntheo4bước
3.9Xóaphầntửđầu,cuốidanhsách
3.10Xóaphầntửởvịtrík
Trướckhixóaởvịtríkcầnkiểmtravịtrí
kcóphùhợp,cóphảiđầudanhsáchhay

cuốidanhsáchhayởgiữa
3.11TìmphầntửxtrongDS
3.12XóaphầntửxtrongDS
codethamkhảo:
/>Vậylàphầnnàycoinhưchúngtađatìm
hiểuxongdanhsáchliênkết:(DSLK
mảng,DSLKđơn,DSLKkép).
Nguồn:
Xemcácchủđềkháccùngchuyên
mụcVSNet:
ĐồhọatrongDevC++đơngiản
Update
LậptrìnhCvớibảngmàutrong
linux–
MàuchữtrongDevC++–How
dochangecolor
[C/C++]get()andfget()in
C/C++–Cảnhbáo
[C/C++]Bài11:Ngănxếpvà
Hàngđợi(Stack
Giúpcáchbẫylỗitronglậptrình.
Ngônngữ
SửdụngđồhọatrongDevC
[C/C++]Bài10–Danhsáchliên
kết
Debug(gỡrối)trongdevC
bàitậpvàcáchdebugtrong
c/c++
Lầnsửacuốibởinguyenvanquan7826,ngày05222013lúc08:37PM.
VIETSOURCE.NETNƠIĐAMMÊBẮTĐẦU

DIỄNĐÀNCHIASẺKIẾNTHỨCLẬPTRÌNH,MÃNGUỒN
HọcLậpTrình|VideoLậpTrìnhWebHTMLCSS|VideoLapTrinhC|VideoHocLap
Trinh|VideoHocLapTrinhPascal|VideoHocLapTrinhPHP|LapTrinhWeb|Lap
TrinhUngDung|PhanMemMienPhi|BBPhim.Com|PhimHanhDong|PhimKinh
Di|
  
   
TrảlờikèmTríchdẫn 
Thanks 
Có7thànhviêncảmơnnguyenvanquan7826trongbàiviếtnày:
bacuongcomputer(03102013),dtafe(03122013),hai.leader94(0314
2013),kaka747(07102013),mungluom(03102013),SolitaryWolf(0318
2013),StarrySky(03092013)
03152013, 08:50PM
Ngàythamgia:
Bàiviết:
Thanks:
Thanked:2in2posts
Oct2012
10
24
bàiviếtdễhiểuthật,posttiếpphầndanhsáchliênkếtnàyđibạnơi
VIETSOURCE.NETNƠIĐAMMÊBẮTĐẦU
DIỄNĐÀNCHIASẺKIẾNTHỨCLẬPTRÌNH,MÃNGUỒN
HọcLậpTrình|VideoLậpTrìnhWebHTMLCSS|VideoLapTrinhC|VideoHocLap
Trinh|VideoHocLapTrinhPascal|VideoHocLapTrinhPHP|LapTrinhWeb|Lap
TrinhUngDung|PhanMemMienPhi|BBPhim.Com|PhimHanhDong|PhimKinh
Di|
#2
Beginner

mungluom
  
   
TrảlờikèmTríchdẫn 
Thanks 
Nhữngthànhviênđãcảmơnmungluomtrongbàiviếtnày:
nguyenvanquan7826(03152013)
05212013, 05:28PM
#3
Ngàythamgia:
Bàiviết:
Thanks:
Thanked:26in20posts
Jul2012
240
185
AnhQuânơiupdatetiếpđianh.Phầnnàyemđanghọc
VIETSOURCE.NETNƠIĐAMMÊBẮTĐẦU
DIỄNĐÀNCHIASẺKIẾNTHỨCLẬPTRÌNH,MÃNGUỒN
HọcLậpTrình|VideoLậpTrìnhWebHTMLCSS|VideoLapTrinhC|VideoHocLap
Trinh|VideoHocLapTrinhPascal|VideoHocLapTrinhPHP|LapTrinhWeb|Lap
TrinhUngDung|PhanMemMienPhi|BBPhim.Com|PhimHanhDong|PhimKinh
Di|
Coder
StarrySky
  
   
TrảlờikèmTríchdẫn 
Thanks 
05222013, 01:37AM

Ngàythamgia:
Bàiviết:
Thanks:
Thanked:714in426posts
Apr2012
1,358
357
Đãvàđang.
VIETSOURCE.NETNƠIĐAMMÊBẮTĐẦU
DIỄNĐÀNCHIASẺKIẾNTHỨCLẬPTRÌNH,MÃNGUỒN
HọcLậpTrình|VideoLậpTrìnhWebHTMLCSS|VideoLapTrinhC|VideoHocLap
Trinh|VideoHocLapTrinhPascal|VideoHocLapTrinhPHP|LapTrinhWeb|Lap
TrinhUngDung|PhanMemMienPhi|BBPhim.Com|PhimHanhDong|PhimKinh
Di|
#4
Advanced

nguyenvanquan7826
GửibởiStarrySky
AnhQuânơiupdatetiếpđianh.Phầnnàyemđanghọc
  
   
TrảlờikèmTríchdẫn 
Thanks 
Nhữngthànhviênđãcảmơnnguyenvanquan7826trongbàiviếtnày:
StarrySky(05222013)
05222013, 04:30PM
Ngàythamgia:
Bàiviết:
Thanks:

Thanked:26in20posts
Jul2012
240
185
Phầnnàynhiềuác.nhưngphầncàiđặtDSLKbằngcontrỏchưacóhảanh
VIETSOURCE.NETNƠIĐAMMÊBẮTĐẦU
DIỄNĐÀNCHIASẺKIẾNTHỨCLẬPTRÌNH,MÃNGUỒN
HọcLậpTrình|VideoLậpTrìnhWebHTMLCSS|VideoLapTrinhC|VideoHocLap
Trinh|VideoHocLapTrinhPascal|VideoHocLapTrinhPHP|LapTrinhWeb|Lap
TrinhUngDung|PhanMemMienPhi|BBPhim.Com|PhimHanhDong|PhimKinh
Di|
#5
Coder
StarrySky
  
   
TrảlờikèmTríchdẫn 
Thanks 
05222013, 07:20PM
Ngàythamgia:
Bàiviết:
Thanks:
Thanked:714in426posts
Apr2012
1,358
357
Danhsáchliênkếtđơnchínhlàcontrỏđóbạn
Đãupdatexongphầndanhsáchliênkếtnhá,tiếpsẽlàStackvàQueue
Lầnsửacuốibởinguyenvanquan7826,ngày05222013lúc08:41PM.
VIETSOURCE.NETNƠIĐAMMÊBẮTĐẦU

#6
Advanced

nguyenvanquan7826
GửibởiStarrySky
Phầnnàynhiềuác.nhưngphầncàiđặtDSLKbằngcontrỏchưacóhảanh
DIỄNĐÀNCHIASẺKIẾNTHỨCLẬPTRÌNH,MÃNGUỒN
HọcLậpTrình|VideoLậpTrìnhWebHTMLCSS|VideoLapTrinhC|VideoHocLap
Trinh|VideoHocLapTrinhPascal|VideoHocLapTrinhPHP|LapTrinhWeb|Lap
TrinhUngDung|PhanMemMienPhi|BBPhim.Com|PhimHanhDong|PhimKinh
Di|
  
   
TrảlờikèmTríchdẫn 
Thanks 
Có2thànhviêncảmơnnguyenvanquan7826trongbàiviếtnày:
lặnglẽ(06122013),StarrySky(05222013)
07262013, 11:41AM
Ngàythamgia:
Bàiviết:
Thanks:
Thanked:0in0posts
Feb2013
29
14
Code:
for(i=(*L).size;i>k;i‐‐)
(*L).elems[i]=(*L).elems[i‐1];//kohiểu
(*L).elems[k‐1]=x;
(*L).size++;

giảithíchmìnhcodenàycái.Nóchạythếnào?ởhàminsert_kấyCảDeL_Kấycũng
giốngcodetrênđó
VIETSOURCE.NETNƠIĐAMMÊBẮTĐẦU
DIỄNĐÀNCHIASẺKIẾNTHỨCLẬPTRÌNH,MÃNGUỒN
HọcLậpTrình|VideoLậpTrìnhWebHTMLCSS|VideoLapTrinhC|VideoHocLap
Trinh|VideoHocLapTrinhPascal|VideoHocLapTrinhPHP|LapTrinhWeb|Lap
TrinhUngDung|PhanMemMienPhi|BBPhim.Com|PhimHanhDong|PhimKinh
Di|
#7
InTraning
sanko
  
   
TrảlờikèmTríchdẫn 
Thanks 
07262013, 01:13PM
#8
Advanced
bacuongcomputer
Ngàythamgia:
Bàiviết:
Thanks:
Thanked:701in401posts
Mar2012
1,166
387
Đoạncodenàydùngđểdồndanhsách,bạnxoá1phầntửthìchỉcócáchdồndanh
sáchchứkhônghềcóhàmnàoxoáđượcmộtphầntử
VIETSOURCE.NETNƠIĐAMMÊBẮTĐẦU
DIỄNĐÀNCHIASẺKIẾNTHỨCLẬPTRÌNH,MÃNGUỒN

HọcLậpTrình|VideoLậpTrìnhWebHTMLCSS|VideoLapTrinhC|VideoHocLap
Trinh|VideoHocLapTrinhPascal|VideoHocLapTrinhPHP|LapTrinhWeb|Lap
TrinhUngDung|PhanMemMienPhi|BBPhim.Com|PhimHanhDong|PhimKinh
Di|
Gửibởisanko
Code:
for(i=(*L).size;i>k;i‐‐)
(*L).elems[i]=(*L).elems[i‐1];//kohiểu
(*L).elems[k‐1]=x;
(*L).size++;
giảithíchmìnhcodenàycái.Nóchạythếnào?ởhàminsert_kấyCảDeL_Kấy
cũnggiốngcodetrênđó
  
   
TrảlờikèmTríchdẫn 
Thanks 
Nhữngthànhviênđãcảmơnbacuongcomputertrongbàiviếtnày:
sanko(07262013)
07282013, 08:28PM
Ngàythamgia:
Bàiviết:
Thanks:
Thanked1Timein1Post
Jul2013
1
0
bàiviếtcủaarấthay.tksarấtnhiều
VIETSOURCE.NETNƠIĐAMMÊBẮTĐẦU
DIỄNĐÀNCHIASẺKIẾNTHỨCLẬPTRÌNH,MÃNGUỒN
#9

Beginner
hungthinh1806
«Chủđềtrước|ChủđềTiếptheo»
HọcLậpTrình|VideoLậpTrìnhWebHTMLCSS|VideoLapTrinhC|VideoHocLap
Trinh|VideoHocLapTrinhPascal|VideoHocLapTrinhPHP|LapTrinhWeb|Lap
TrinhUngDung|PhanMemMienPhi|BBPhim.Com|PhimHanhDong|PhimKinh
Di|
  
   
TrảlờikèmTríchdẫn 
Thanks 
Nhữngthànhviênđãcảmơnhungthinh1806trongbàiviếtnày:
nguyenvanquan7826(07282013)
07282013, 08:38PM
Ngàythamgia:
Bàiviết:
Thanks:
Thanked:714in426posts
Apr2012
1,358
357
Cảmơnbạnđãquantâm.Chúcbạnhọctậptốt.
Email:
#10
Advanced

nguyenvanquan7826
Gửibởihungthinh1806
bàiviếtcủaarấthay.tksarấtnhiều
  

   
TrảlờikèmTríchdẫn 
Thanks 
Nhữngthànhviênđãcảmơnnguyenvanquan7826trongbàiviếtnày:
bac100993(09112013)
+TrảlờiChủđề
trang1của2 1 2 cuối
Chọnnhanh Tàiliệu,Thủthuật  Lêntrên
TagcủaChủđềnày
VideoTutorial
cănhossgtower
quytrìnhseo
dịchvụseotổngthể
dịchvụseotừkhóa
diễnđànhọclậptrìnhweb
Liênkết
chètháinguyên
Haivl
DichvuSEO
Liênkết
côngtyseo
ViệclàmTháiNguyên
Tuyểnsinh2014
Thôngtinkinhtế
đàotạoseo
DaotaoSEO
Textlink:thietkewebxechevroletcruze,daotaoseo,
 
TagcủaChủđềnày
None

XemNhómTag
Thêm/SửaTag
BạnCóthểGửiChủđề
mới
BạnCóthểGửitrảlời
BạnCóthểGửifileđính
kèm
BạnCóthểSửabàiviết
củamình

Quyềnviếtbài
BBcodeđangBật
SmiliesđangBật
[IMG]codeđang
Bật
[VIDEO]codeis
Bật
HTMLcodeđang
Tắt
NộiquyQuy
định
VSNetVersion2

ViệtNam
IPhiệntạicủabạn:
PoweredbyvBulletin®Version4.2.0
Liênlạcvớichúngtôi  Trangchủ  Lưutrữ  Lêntrên
©2012thuộcvề VSNet
CộngđồngmãnguồnViệt
Nam

×