Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Дослідження методів сортування вибором

Реферат Дослідження методів сортування вибором





x in array)//перебір у змінну х всіх значень масиву array, в який записується результат сортування обраним методом.Text +=x +;// Додавання цих значень

} void selectSort (int [] array)//сортування вибіркою

{min;// Оголошуємо min (int i=0; i lt; array.Length; i ++)//перебираємо елементи

{= i;// Присвоюємо найменший елемент i-ому

for (int j=i + 1; j lt; array.Length; j ++)

if (array [j] lt; array [min])//якщо елменент масиву менше мінімального=j;// Присвоюємо нове мінімальне значення елементу масиву

//swap-функція. Міняємо місцями значеніяtemp=array [i];

array [i]=array [min]; [min]=temp;

}

} void heapSort (int [] array)//сортування пірамідою

{i, temp;// Оголошуємо змінні (i=array.Length/2 - 1; i gt;=0; i--)//елементи з номерами починаючи з array.Length/2 - 1 це листя, то потрібно переупорядкувати піддерева з корінням в індексах (array, i, array.Length - 1);// Викликається функція downHeap і їй передаються аргументи

for (i=array.Length - 1; i gt; 0; i -)

{= array [i]; [i]=array [0]; [0]=temp; (array, 0, i - 1);// В функцію передаються аргументи з кроком - 1

}

} void downHeap (int [] array, int k, int n)//функція нижньої сортування

{

//оголошуємо переменниеnew_elem;

int child; _elem=array [k];

while (k lt;=n/2)//поки у array [k] є діти виконуємо

{= 2 * k;

//вибираємо більшого сина (child lt; n amp; amp; array [child] lt; array [child + 1]) ++; (new_elem gt;=array [child]) break;

//інакше [k]=array [child];// Переносимо сина наверх=child;

} [k]=new_elem;

}

//принцип формування чисел Леонардо L (N)=L (N - 1) + L (N - 2) + 1 [] LeoNum={1, 1, 3, 5, 9, 15 , 25, 41, 67, 109, 177, 287, 465, 753, 1219, 1973, 3 193, 5167, 8 361, 13 529, двадцять один тисяча вісімсот дев'яносто одна, 35421, 57313, 92735, 150049, 242785, 392835, 635621, 1028457, 1664079, 2692537 , 4356617, 7049155, 11405773, 18454929, 29860703, 48315633, 78176337, 126491971, 204668309, 331160281, 535828591, 866988873, 1402817465};// Числа леонардоcurState;// Змінна curState - це поточний стан послідовності куп, двійкове подання якої задає розмірності цих куп.

//Двійкове подання числа curState є описом

//поточного стану масиву куп.

//Двійкове подання: 10110

//Числа Леонардо 95311

//Тобто перші 9 елементів - це перша купу, другі 3 - друга купа,

//і останній - це третя купа

//Після виконання функції число curState описуватиме масив куп після додавання

//одного елемента в кінець. Його двійкове подання буде 11000=24.

//Результат: Номер біта, відповідний вершині останньої купи, якщо та складається більш,

//ніж з одного елементаint NextState (ref int curState)//Функція NextState, робить зворотну операцію, але при цьому вона ще повертає номер біта, відповідний вершині останньої купи, якщо та складається більш ніж з одного елемента. Інакше функція повертає - 1.

{posNewTop=- 1;// Позиція вершини об'єднаних куп.

//виняток ((curState amp; 7) == 5)

{// curState=0101 +=3;// CurState=1000=3;

}//намагаємося знайти два поспіль одиничних біта

{next=curState; pos=0; (next!=0 amp; amp; (next amp; 3)!=3)

{ gt; gt;=1; ++;

} ((next amp; 3) == 3)//curState=01100

{+=1 lt; lt; pos;// CurState=10000=pos + 2;

} if ((curState amp; 1)!=0)//curState=x001 |=2;// CurState=x011//curState=xx00 |=1;// CurState=xx01

} posNewTop;

} void PrevState (ref int curState)//Функція PrevState змінює поточний стан з урахуванням того, що вершина останньої купи виключена з розгляду.

{((curState amp; 15) == 8)

{// curState=1000-=3;// CurState=+0101

} if ((curState amp; 1)!=0)

{((curState amp; 3) == 3)//curState=x011 ^=2;// CurState=x001//curState=xx01 ^=1;// CurState=xx00

}//іщім перший одиничний?? ит

{prev=curState; pos=0; (prev!=0 amp; amp;! (Convert.ToBoolean (prev amp; 1)))

Назад | сторінка 8 з 9 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Аналіз методів сортування одновимірного масиву
  • Реферат на тему: The impact of unhealthy lifestyles on a child's behavior in school
  • Реферат на тему: Розвиток графоаналитического підходу «вузол-функція-об'єкт» як способу ...
  • Реферат на тему: Програмна реалізація додавання даних до впорядкованого двійкове дерево
  • Реферат на тему: Дослідження алгоритму сортування методом прямого включення