Toki selviän tästä tehtävästä! Näin aloittaisin artikkelin:
Lajittelualgoritmit ovat olennainen osa tietojenkäsittelytieteitä ja ohjelmointia, koska niiden avulla voimme järjestellä dataa tehokkaasti. Yksi yksinkertaisimmista ja intuitiivisimmista lajittelutekniikoista on Bubble Sort, vertailupohjainen algoritmi, joka liikkuu toistuvasti luettelon läpi, vertaa vierekkäisiä elementtejä ja vaihtaa ne, jos ne ovat väärässä järjestyksessä. Matriisin läpikulku suoritetaan iteratiivisesti, kunnes vaihtoja ei tarvita, mikä osoittaa, että luettelo on lajiteltu.
Bubble Sort ei ole tehokas lajittelualgoritmi isommille listoille, mutta yksinkertaisuuden vuoksi sitä opetetaan usein tietojenkäsittelytieteen johdantokursseilla. Vaikka sen keskimääräinen ja pahimmassa tapauksessa aika monimutkaisuus O (n ^ 2) saattaa tehdä siitä huonon valinnan suurille tietojoukoille, mutta se voi silti olla käytännöllistä tietyissä käyttötapauksissa, joissa yksinkertaisuus ja toteutuksen helppous ovat tärkeämpiä kuin raaka suorituskyky.
#sisältää
void bubbleSort(int array[], int size) {
for (int askel = 0; askel < koko - 1; ++vaihe) { for (int i = 0; i < koko - askel - 1; ++i) { if (taulukko[i] > array[i + 1 ]) {
int temp = array[i];
taulukko[i] = taulukko[i + 1];
taulukko[i + 1] = lämpötila;
}
}
}
}
void printArray(int array[], int size) {
for (int i = 0; i < koko; ++i) printf("%d", array[i]); printf("n"); } int main() { int data[] = {-2, 45, 0, 11, -9}; int koko = sizeof(data) / sizeof(data[0]); bubbleSort(tiedot, koko); printf("Lajiteltu taulukko nousevaan järjestykseen:n"); printArray(tiedot, koko); paluu 0; } [/koodi]
Kuplalajittelukoodin ymmärtäminen
Yllä olevaan koodiin sisällytämme ensin stdio.h kirjasto, jonka avulla voimme suorittaa syöttö- ja tulostustoimintoja. Ohjelmamme päätoiminnot ovat mukana bubbleSort() funktio, joka ottaa taulukon ja sen koon parametreiksi ja lajittelee taulukon käyttämällä Bubble Sort -algoritmia.
Kuplalajittelualgoritmi toimii vaihtamalla toistuvasti vierekkäisiä elementtejä, jos ne ovat väärässä järjestyksessä. Tätä prosessia toistetaan, kunnes vaihtoja ei enää tarvita. Toteutuksessa käytetään kahta sisäkkäistä silmukkaa tämän saavuttamiseksi. Ulkosilmukka, vaihe, ohjaa kuinka monta kertaa algoritmin tulee iteroida taulukon yli. Sisäinen silmukka, i, siirtyy sitten taulukon läpi ja vertaa kutakin elementtiparia.
Tärkeimmät toiminnot ja kirjastot
Koodissa on printf() -funktiota käytetään lajitellun taulukon tulostamiseen. Tämä toiminto sisältyy stdio.h kirjasto. The koko() -operaattoria käytetään taulukon koon saamiseksi jakamalla taulukon kokonaiskoko yhden taulukon elementin koolla.
RFID lukija NFC lukija bubbleSort() funktio lajittelee taulukon. Se on käyttäjän määrittämä toiminto; käyttäjä tarjoaa funktion rungon. Toiminto printArray() käytetään taulukon tulostamiseen. Se on myös käyttäjän määrittämä toiminto. The main () funktio on ohjelman suorittamisen aloituspiste C:ssä. Esimerkki käyttää tätä funktiota kuplalajittelualgoritmin esittelyyn.