Hirdetés
- Xiaomi 15T Pro - a téma nincs lezárva
- Google Pixel 9 Pro XL - hét szűk esztendő
- iPhone topik
- Samsung Galaxy S25 - végre van kicsi!
- Pebble - az átgondolt okosóra
- Xiaomi 17 Ultra - jó az optikája
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Nem lesz olcsó a Realme GT 8 Pro Európában
- 8000 nit, maradhat? A szaúdiaknál kezd a Honor 600 Pro
- Mától Huawei okosórákkal is lehet érintésmentesen fizetni
-
Mobilarena

Új hozzászólás Aktív témák
-
kovisoft
őstag
válasz
pmonitor
#15582
üzenetére
Még régebben írtam egy rövid függvényt, ami kiírja a N szám permutációit rendezett formában. Most sehol sem találom, de emlékeim alapján megpróbáltam újra lekódolni C-ben:
int a[50];
int n=5;
int i, j, temp;
// az 1 2 3 ... n sorozatbol indulunk ki
for (i=0; i<n; i++)
a[i] = i+1;
for (;;)
{
// kiirjuk az aktualis permutaciot
for (i=0; i<n; i++)
printf("%d ", a[i]);
printf("\n");
// megkeressuk, hol kezdodik az utolso monoton csokkeno reszsorozat
for (i=n-2; i>=0 && a[i]>a[i+1]; i--);
// ha a teljes sorozat monoton csokkeno, akkor vegeztunk
if (i < 0)
break;
// a csokkeno reszsorozat elotti elemet ki kell cserelnunk a reszsorozatban nagysag szerint rakovetkezovel
for (j=n-1; a[j]<a[i]; j--);
temp=a[i]; a[i]=a[j]; a[j]=temp;
// tovabbra is monoton csokkeno a reszsorozatunk, forditsuk meg, hogy monoton novekedo legyen
for (j=i+1; j<n+i-j; j++)
{
temp=a[j]; a[j]=a[n+i-j]; a[n+i-j]=temp;
}
}Nem teszteltem a sebességét, nem állítom, hogy ez a létező leggyorsabb módszer, de viszonylag rövid és egyszerű. Egyébként most, hogy jobban megnézem, ez majdnem az a módszer, mint amiben a quicksort van. Az igazat megvallva soha nem értettem, hogy miért kell itt meghívni egy quicksortot, hiszen amikor ide érünk, akkor a sorozat vége már rendezve van, csak éppen csökkenő sorrendben, tehát elég szimplán megfordítani.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- GIGABYTE RX 6800 XT 16GB GDDR6 GAMING OC - Eladó!
- BESZÁMÍTÁS! ASRock A520M R5 5500 16GB DDR4 500GB SSD RX 5700XT 8GB Rampage SHIVA Seasonic 650W
- BESZÁMÍTÁS! MSI B450M R5 5600 16GB DDR4 512GB SSD RX 6650 XT 8GB Rampage SHIVA FSP 650W
- BESZÁMÍTÁS! ASUS B450M R7 5700 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Cooler Master 650W
- BESZÁMÍTÁS! AsRock H510M i5 11500 16GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Adata 600W
- HIBÁTLAN iPhone 13 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4666
- DELL PowerEdge R630 rack szerver - 2xE5-2650v3 (20 mag / 40 szál, 2.3/3.0GHz), 32GB RAM, 66921Ft+ÁFA
- 27% - ASUS Vivobook OLED Notebook! Ryzen 5 7535HS / 16GB 6400MHz / 500GB NVMe
- Oculus Meta Quest 2 64 GB 6 hó garancia, számlával!
- Lenovo ThinkPad // T - Széria // X1 carbon // X1 Yoga 2-in-1 // és a többiek... 3-12. gen. 12-15"
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


