[Powered by Google Translate] [Ciú]
[Chris Gerber, Ollscoil Harvard]
Is é seo an CS50, CS50.TV]
Is é ceann úsáideach sonraí struchtúr a stóráil bailiúchán ordú na n-eilimintí scuaine.
Tá sé in úsáid nuair is gá na heilimintí a bhaint
san ord céanna mar a cuireadh iad.
Tá an coincheap ar a dtugtar FIFO, a bhfuil an acrainm do chéad, an chéad amach.
Chun cabhrú visualize seo, d'fhéadfadh sé a bheith úsáideach pictiúr
líne Seiceáil ag siopa.
Mar a thagann daoine, fanacht siad ar chúl an líne.
An Cashier Bíonn ansin casadh ag freastal ar na custaiméirí ag an tosaigh,
a scoir an líne amháin ag an am.
I eolaíocht ríomhaireachta, a tharchur muid go dtí an os comhair an scuaine mar an ceann
agus ar chúl an eireaball.
Sampla de nuair a d'fhéadfadh muid seo a úsáid in iarratas
Is waitlist do rollú rang.
Mar a bheith suíocháin atá ar fáil sa rang,
bhfuil an duine ag ceann an liosta feithimh an deis a chlárú sa rang.
>> Is féidir le scuaine a thógáil ag baint úsáide as aon bhailiúchán
go bhfuil na sonraí siopaí in ord, ar nós mar eagar nó liosta nasctha.
Chomh maith leis an mbailiúchán a stóráil na míreanna sa scuaine,
ní mór dúinn chomh maith le modh chun míreanna a chur ag deireadh na scuaine,
ar a dtugtar enqueuing,
agus ceann eile a bhaint mír as an barr an chuí,
ar a dtugtar dequeuing.
Is minic gur úsáideach a chur san áireamh ar mhodh eile chun filleadh ar an fad atá ann faoi láthair ar an scuaine
chomh maith le modh a sheiceáil má tá an scuaine folamh.
A ligean ar breathnú ar conas a d'fhéadfadh muid a chur i bhfeidhm scuaine na slánuimhreacha i C,
úsáid a bhaint as le sraith maidir le bailiú na n-eilimintí.
An chéad, a chruthú dúinn struchtúr a dtugtar scuaine de bheith i seilbh ár n-athróg.
Bainfimid úsáid as seasta-mhéid sraith innéacs 0 na slánuimhreacha
a stóráil na heilimintí sin.
Cuirfimid san áireamh freisin ceann athróg ar a dtugtar
go siopaí an t-innéacs na dúile atá faoi láthair ag ceann na scuaine.
A athróg an tríú, ar a dtugtar fad a bheidh, a úsáid
súil a choinneáil ar líon na n-eilimintí sa eagar.
Mar mhalairt, d'fhéadfaí tú a mheas ag baint úsáide as eireaball athróg ar a dtugtar
a chur in iúl an ghné réimse deireanach sa eagar.
Sula muid ag scríobh cód ar bith níos mó,
a ligean ar triail a bhaint as ár dearadh.
Let tús le sraith folamh ar fad 0,
le leagtar an ceann 0.
Anois enqueue ligean ar 4 luachanna - 6, 2, 3, agus 1.
Beidh an fad anois 4,
agus beidh an ceann fanacht ag 0.
>> Cad a tharlaíonn má dequeue againn luach?
Déanfaimid an fad a laghdú go 3,
an ceann atá leagtha go 1,
agus seol ar ais an luach 6.
D'fhéadfadh an cód breathnú mar seo.
Anseo ní mór dúinn an fheidhm dequeue,
a thógann pointeoir leis an scuaine - q - agus pointeoir leis an eilimint,
atá ina slánuimhir chineál.
An Chéad muid ag seiceáil an fad an scuaine a dhéanamh cinnte tá sé níos mó ná 0,
chun a chinntiú go bhfuil gné a dequeued.
Ansin muid ag breathnú ar an raon gnéithe, ag ceann seasamh,
agus leag an luach eilimint a bheith ar an luach ag an suíomh.
Ansin linn a athrú an ceann a bheith ar an innéacs seo chugainn
% An cumas.
Táimid ag laghdú ansin an fad an scuaine ag 1.
Mar fhocal scoir, ar ais dúinn fíor a chur in iúl go raibh an dequeue rathúil.
Má dequeue againn arís, beidh an fad 2,
Beidh an ceann freisin bheith 2,
agus beidh an luach ar ais 2.
>> Cad a tharlaíonn má enqueue eile againn luach den sórt sin mar 7?
Mar a bhí againn ag deireadh na scuaine,
ní mór dúinn a wrap thart agus a stóráil ar an luach i 0 eilimint den eagar.
Mathematically, is féidir é seo a léiriú tríd an fad
chun an t-innéacs an ceann
a chomhlíonadh agus a modulus baint úsáide as an acmhainn scuaine.
Seo go 2 +2, a bhfuil 4% 4,
bhfuil 0.
Aistriúchán an smaoineamh seo chun cód ní mór dúinn an fheidhm seo.
Anseo feicimid an fheidhm enqueue,
a thógann pointeoir leis an scuaine - q -
agus tógann sé an eilimint atá le enqueued, atá ina slánuimhir.
Táimid ag seiceáil eile a dhéanamh cinnte go bhfuil an cumas an scuaine
tá sé fós níos mó ná an fad atá ann faoi láthair na scuaine.
Next, a stóráil againn ar an eilimint sa eagar gnéithe
ag an innéacs atá arna chinneadh ag an ceann +% fad cumas an scuaine.
Táimid ag méadú ansin an fad scuaine ag 1,
agus seol ar ais ansin fíor a chur in iúl go raibh an fheidhm enqueue rathúil.
>> Chomh maith leis an dá fheidhm atá againn atá luaite,
tá dhá feidhmeanna breise.
Is é an chéad fheidhm isempty,
a thógann pointeoir leis an scuaine
agus fíoraíonn go bhfuil an fad 0.
Is é an dara feidhm fad,
a thógann freisin pointeoir leis an scuaine
agus tuairisceáin an fad atá ann faoi láthair ó na struct.
Tá an forbhreathnú gearr léirithe amháin i bhfeidhm d'fhéadfadh a scuaine.
Ceann de na teorainneacha a ghabhann leis an cur i bhfeidhm
é go bhfuil an scuaine méid uasta socraithe.
Má iarracht muid a chur gnéithe níos mó ná is féidir leis an scuaine a shealbhú,
is féidir linn a neamhaird a dhéanamh leis an iarraidh agus an eilimint titim,
nó is féidir linn a fearr a thabhairt ar ais roinnt de chineál earráide.
Ag baint úsáide as liosta nasctha seachas eagar
Bheadh ​​sé níos éasca le méid dinimiciúil an scuaine.
Mar sin féin, ós rud é nach bhfuil againn rochtain dhíreach ar na gnéithe de liosta nasctha,
más rud é nach bhfuil muid ag súil a choinneáil ar an eireaball,
ba mhaith linn a scanadh ar an liosta iomlán nasctha a fháil chun an deireadh gach uair.
D'fhéadfadh muid a mheas freisin ag baint úsáide as le sraith de chineál eile sonraí,
mar shampla structs, a chruthú scuainí na n-eilimintí níos casta.
Ag smaoineamh ar ais go dtí ár sampla de waitlist ranga,
D'fhéadfadh na struchtúir seo ar son an mhic léinn aonair.
>> Is é mo ainm Chris Gerber, agus tá sé seo CS50.
[CS50.TV]
Agus tuairisceáin - >> amháin níos mó ama.
Agus seol ar ais fíor chun a léiriú go - an scuaine a bhí rathúil.
-% An cumas na scuaine -
Tá sé seo ag dul a bheith spraoi i edit. [Gáire]