Hirdetés
- Apple iPhone 11 - népalma
- Amazfit Bip 6 - jót olcsón
- EarFun Air Pro 4 - a cél a csúcs
- MIUI / HyperOS topik
- CES 2026: Színre lép a Motorola Razr Fold
- CES 2026: Főhajtás a Moto 360 előtt Polar funkciókkal
- Google Pixel 9 Pro XL - hét szűk esztendő
- OnePlus 15 - van plusz energia
- Huawei P30 Pro - teletalálat
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
-
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!
- A legrosszabb CPU-k – az ExtremeTech szerint
- BestBuy topik
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- Apple iPhone 11 - népalma
- CES 2026: felcsavarta az AI-t az AMD, de örülhetnek a játékosok is
- Amazfit Bip 6 - jót olcsón
- Milyen videókártyát?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Hitelkártyák használata, hitelkártya visszatérítés
- Netflix
- További aktív témák...
- G.SKILL Ripjaws V 2x4GB 3000MHz DDR4 kit
- APC Smart-UPS 1500VA LCD RM 2U (SMT1500RMI2UC) - űj ára 450.000Ft
- Digitus Network Cabinet 19'' 42U DN-43000 white - Rack Szekrény
- BROCADE Ruckus ICX7150-24port - Switch - több db - 130Gbps
- 3D nyomtató - SAURER MarkingSolutions Signum Eco Lasersysteme - laser marking system
- Wacom Bamboo One CTF-430 rajztábla
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- Gamer Egér RGB!!
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- 0% THM 4 havi részlet, beszámítás! Gamer PC, notebook, konzol, Apple termék, hardver KAMATMENTESEN!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest



