Hirdetés
- Google Pixel topik
- Xiaomi 15T Pro - a téma nincs lezárva
- One mobilszolgáltatások
- Apple iPhone 17 Pro Max – fennsík
- Telekom mobilszolgáltatások
- Yettel topik
- Milyen okostelefont vegyek?
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Tesztkört futott a OnePlus Nord CE6
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
-
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!
- Debrecen és környéke adok-veszek-beszélgetek
- Eredeti játékok OFF topik
- TCL LCD és LED TV-k
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Google Home/Nest
- HiFi műszaki szemmel - sztereó hangrendszerek
- Lalikiraly: Macbook NEO 2
- exHWSW - Értünk mindenhez IS
- Kontron KTQM87/mITX hűtés módosítás (Socket G2)
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Bontatlan! Playstation Portal 2 év garancia 2028.04.09-ig számlával!
- Újszerű Apple MacBook Air 13 M2 (2022) 8GB/256GB - 61 Ciklus - 91% akku - MAGYAR
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- szinteÚJ 2030 Gar! Dell Pro Max 14 Ryzen AI 9 HX PRO 370 32GB LPDDR5X 1TB NVMe SSD
- iPhone 11 64GB 100% (3hónap Garancia)- AKCIÓ
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


