„Rendezés” változatai közötti eltérés

Ferrero (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
aNincs szerkesztési összefoglaló
 
(4 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva)
4. sor: 4. sor:
* Összefoglaló a keresési és rendezési algoritmusokról ([[Keresés_és_rendezés|Algel összefoglaló]])
* Összefoglaló a keresési és rendezési algoritmusokról ([[Keresés_és_rendezés|Algel összefoglaló]])


----
=== Tipikus vizsgafeladat ===
 
Adott bemenetként egy ''n'' elemű tömb. Rendezzük úgy, hogy a <math> 0, 2, 4, \dots,  2\left\lfloor\frac{n-1}{2}\right\rfloor, 2\left\lfloor\frac{n}{2}\right\rfloor-1, \dots, 5, 3, 1 </math> indexű elemei növekvő sorrendben legyenek.
Tipikus vizsgafeladat:
 
Adott bemenetként egy _n_ elemű tömb. Rendezzük úgy, hogy a <math> 0, 2, 4, \dots,  2\left\lfloor\frac{n-1}{2}\right\rfloor, 2\left\lfloor\frac{n}{2}\right\rfloor-1, \dots, 5, 3, 1 </math> indexű elemei növekvő sorrendben legyenek.


Megoldás:
Megoldás:


<pre>void sort(int n, int *a) {
<syntaxhighlight lang="c">void sort(int n, int *a) {
int i, j;
int i, j;
for (i=0; i&lt;n-1; i++)
for (i=0; i&lt;n-1; i++)
for (j=i+1; j&lt;n; j++) <font color="black">// i&lt;j</font>
for (j=i+1; j&lt;n; j++) // i&lt;j
<font color="black">// csere, ha (növekvő sorrendben állnak) XOR (jó a növekvő sorrend)</font>
// csere, ha (növekvő sorrendben állnak) XOR (jó a növekvő sorrend)
if (a[i]&lt;a[j] ^ i%2==0) {
if (a[i]&lt;a[j] ^ i%2==0) {
int swap=a[i]; a[i]=a[j]; a[j]=swap;
int swap=a[i]; a[i]=a[j]; a[j]=swap;
}
}
}</pre>
}</syntaxhighlight>
 
-- [[PallosPeter|Peti]] - 2006.12.30.
 


[[Category:Infoalap]]
[[Category:Infoalap]]
A lap eredeti címe: „https://vik.wiki/Rendezés