kuidas elemente massiivis c ++ vahetada


Vastus 1:

int main ()

{

int a [10] = {4,5,6,7,1,2,4,5,9,3};

int min = a [0]; // esimese elemendi võtmine miinimumina

int j, temp;

jaoks (int i = 0; i <10; i ++)

{

kui (a [i]

{

min = a [i];

j = i;

}

}

temp = a [j];

a [j] = a [0];

a [0] = temp;

}

Kõigepealt võtate esimese elemendi väärtuseks „min”, seejärel võrrelge seda massiivi iga elemendiga. tsükliotstel on teie miinimumväärtus väärtusel “min” .. VAHETAGE see väärtusega [0], st 0-nda positsiooniga.


Vastus 2:

Netis saate surfata sõna otseses mõttes tosin tehnikat, mis kannavad nime "sorteerimine". Ja siinsed inimesed on selgitanud kõige tavalisemaid ja ma arvan, et ma ei pea sama kordama.

Algoritmi võib seletada järgmiselt:

  1. Deklareeri täisarvu massiiv.
  2. sisendite saamiseks pane üles for for loop.
  3. kontrollige iga väärtust teiste massiivis olevate väärtustega.
  4. Seejärel asetage nullkohale seni kõige väiksem element, mida seni kohatud on.

Vastus 3:

Proovige seda aja keerukust O (n);

# kaasata

nimeruumi kasutamine std;

int main ()

{

int n;

tina >> n;

int a [n];

jaoks (int i = 0; i

tsin >> a [i];

int min = a [i];

jaoks (int i = 1; i

min = min (a [i], min);

jaoks (int i = 0; i

a [i + 1] = a [i];

a [0] = min;

jaoks (int i = 0; i

cout <

}


Vastus 4:

Miinimumelemendi leiate lineaarsest otsingust ja seejärel lihtsalt vahetage elemendid selles indeksis, kus leiti minimaalne element indeksiga 0 (null).

int minPos = 0, minEle = arr [0];for (int i = 1; i if (minEle> arr [i]) { minEle = arr [i]; minPos = i; }}vahetada (arr [minPos], arr [0]);

Vastus 5:

Lihtsalt tehke seda

array arr on juba deklareeritud ja initsialiseeritud suurusega n.

jaoks (int i = 0; i

{

kui (arr [i]

vahetada (arr [i], arr [0]); // tehke ise vahetamine

}

}


Vastus 6:

Võite kasutada mis tahes saadaolevaid sorteerimisvõtteid. Sisestussort on kõige lihtsam.