Hirdetés
- Milyen hagyományos (nem okos-) telefont vegyek?
- Xiaomi 15T Pro - a téma nincs lezárva
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Bemutatkozott a Poco X7 és X7 Pro
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Bloomberg: Az iOS 27 a stabilitásra és az AI-ra fókuszál majd
- Szerkesztett és makrofotók mobillal
- iPhone topik
-
Mobilarena

Új hozzászólás Aktív témák
-
pmonitor
aktív tag
válasz
sztanozs
#15629
üzenetére
Ez a kód:
static void Teszt_5(char[] arr)
{
char[] arr2 = (char[])arr.Clone();
int size = arr.Length;
QuickSort(arr2, 0, size - 1);
//Array.Sort(arr2);
int n = arr2.Length;
int i, j;
char temp;
//for (i = 0; i < n; ++i) arr2[i] = i + 1;
while (true)
{
// kiirjuk az aktualis permutaciot
/*for (i = 0; i < n; ++i) Console.Write("{0} ", arr2[i]);
Console.WriteLine("");*/
// megkeressuk, hol kezdodik az utolso monoton csokkeno reszsorozat
for (i = n - 2; i >= 0 && arr2[i] >= arr2[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; arr2[j] <= arr2[i]; --j) ;
temp = arr2[i]; arr2[i] = arr2[j]; arr2[j] = temp;
// tovabbra is monoton csokkeno a reszsorozatunk, forditsuk meg, hogy monoton novekedo legyen
for (j = i + 1; j < n + i - j; ++j)
{
temp = arr2[j]; arr2[j] = arr2[n + i - j]; arr2[n + i - j] = temp;
}
}
}Ennek a kódnak:
static void IsmPermutacio(char[] tomb2, int[] N, int n, int[] W1, int s, int i)
{
int[] V = new int[n];
int[] W = new int[n];
CopyMemory(W, W1, (uint)(n * intSize));
//Array.Copy(W1, W, n);
if (i == 0)
{
for (int l = 0; l < s; ++l) W[l] = -1;
}
if (s != 0)
{
bool ind = true;
do
{
Kombinacio(V, s, N[i], ref ind);
if (!ind)
{
Betesz(N[i], n, V, W, i);
IsmPermutacio(tomb2, N, n, W, s - N[i], i + 1);
Kivesz(W, n, i);
}
} while (!ind);
}
else
{
Betesz(N[i], n, V, W, i);
//*****************************************************
/*for (int q = 0; q < n; ++q) Console.Write(tomb2[W[q]]);
Console.WriteLine("");*/
//*****************************************************
for (int l = 0; l < n; ++l) W[l] = -1;
}
}
static void Kombinacio(int[] V, int n, int k, ref bool ind)
{
if (ind)
{
for (int i = 0; i < k; ++i) V[i] = i;
ind = false;
return;
}
for (int i = k - 1; i > -1; --i)
{
if (V[i] < n - k + i)
{
++V[i];
for (int j = i + 1; j < k; ++j) V[j] = V[j - 1] + 1;
return;
}
}
ind = true;
}
static void Betesz(int ni, int n, int[] V, int[] W, int i)
{
int j = -1, l = 0;
for (int p = 0; p < ni; ++p)
{
while (l < n)
{
if (W[l] == -1) ++j;
if (j == V[p])
{
W[l] = i;
break;
}
++l;
}
}
}
static void Kivesz(int[] W, int n, int i)
{
for (int l = 0; l < n; ++l) if (W[l] == i) W[l] = -1;
}Nem az optimalizálása, hanem teljesen más(egyszerűbb) algoritmus.
És sztem az első algoritmus érthetőbb is.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Milyen hagyományos (nem okos-) telefont vegyek?
- Xiaomi 15T Pro - a téma nincs lezárva
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Xiaomi 15T - reakció nélkül nincs egyensúly
- HiFi műszaki szemmel - sztereó hangrendszerek
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- The Division 2 (PC, XO, PS4)
- Milyen légkondit a lakásba?
- EA Sports WRC '23
- Arc Raiders
- További aktív témák...
- Samsung Galaxy A35 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A33 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A52s 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A15 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- OnePlus 12 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! ASUS H510M i7 11700 16GB DDR4 500GB SSD RTX 3060 Ti OC 8GB Zalman Z1 PLUS ADATA 600W
- BESZÁMÍTÁS! ASUS H510M i3 10105F 16GB DDR4 256GB SSD 1TB HDD GTX 1660 SUPER 6GB Zalman T4 Plus 450W
- Eladó Samsung Galaxy S22 8/128GB / 12 hó jótállás
- Thinkpad L13 Yoga i5-10210U 16GB 1000GB 13.3", Touch gyári magyar világítós bill 360 Gar.: 1év
- Bomba ár! Lenovo ThinkPad T495 - AMD Ryzen 5 PRO I 8GB I 256GB SSD I 14" FHD I Cam I W11 I Gari!
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



