рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Вывод элементов массива на консоль

Вывод элементов массива на консоль - раздел Образование, Сортировка, пирамидальная сортировка. Параметры задачи: размер последовательности, длина строки. Мера сравнения: число обменов, число сравнений, Время выполнения. Void Arrayoutput(Int* Arr, Int Start, Int N) ...

void ArrayOutput(int* Arr, int Start, int N)

{

for (int i = Start; i < N; i++)

{

cout << Arr[i] << 'n';

}

getch();

}

Код программы на языке программирования С#

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace SortLab

{

class Program

{

 

static void Main()

{

Sort();

}

 

/*Основная программа*/

static void Sort()

{

 

int[] myint = { 99,88,77,66,55,44,33,22,11,8,5,3,1};

 

WriteArray(myint);

ShakerSort(myint);

WriteArray(myint);

 

Console.ReadLine();

 

}

/* Шейкер-сортировка */

static void ShakerSort(int[] myint)

{

int beg, end;

int count = 0;

 

for (int i = 0; i < myint.Length/2; i++) //можно переберать за кол-во итераций, в 2 раза меньше

{ //целочисленное деление округляет в меньшую сторону

beg = 0;

end = myint.Length - 1;

 

do

{

count += 2;

/* идем спереди */

if (myint[beg] > myint[beg + 1])

Swap(myint,beg,beg+1);

beg++;//сдвигаем позицию вперед

 

 

/* идем сзади */

if (myint[end-1] > myint[end])

Swap(myint, end - 1, end);

end--;//сдвигаем позицию назад

 

}

while (beg <= end);// условия усреднения

}

Console.Write("nКоличество сравнений = {0}n",count);

}

 

 

/* Поменять элементы местами */

static void Swap(int[] myint, int i, int j)

{

int glass;

glass = myint[i];

myint[i] = myint[j];

myint[j] = glass;

}

 

/*Вывести массив*/

static void WriteArray(int[] a)

{

foreach (int i in a)

Console.Write("{0}|", i);

Console.WriteLine("nnn");

}

}

}

Образно алгоритм можно описать так: на каждом шаге основного цикла рассматривается массив a[Left]÷a[Right], после выполнения двух внутренних циклов минимальный и максимальный элемент в исходном массиве перетекают к краям, минимальный в — a[Left], максимальный — в a[Right]. Пусть максимальный элемент имеет индекс k, тогда массив можно изобразить так: a[Left],a[1],..,a[k-1],A[k],a[k+1],..,a[Right];После сравнения A[k] с a[k+1] значение A[k] перейдет в k+1-ую ячейку,после сравнения k+1-ой c k+2-ой – в k+2-eю,и так далее,пока он не сместится в крайне правое положение с индексом Right. Аналогично для минимального. После выполнения цикла по всем подмассивам он отсортируется. Трассировка программы:

 

3 1 5 8 1 0 4 6 6 7

3 1 5 8 0 1 4 6 6 7

3 1 5 0 8 1 4 6 6 7

3 1 0 5 8 1 4 6 6 7

3 0 1 5 8 1 4 6 6 7

0 3 1 5 8 1 4 6 6 7 Left=1

0 1 3 5 8 1 4 6 6 7

0 1 3 5 1 8 4 6 6 7

0 1 3 5 1 4 8 6 6 7

0 1 3 5 1 4 6 8 6 7

0 1 3 5 1 4 6 6 8 7

0 1 3 5 1 4 6 6 7 8 Right=8

0 1 3 1 5 4 6 6 7 8

0 1 1 3 5 4 6 6 7 8 Left=3

0 1 1 3 4 5 6 6 7 8

 

– Конец работы –

Эта тема принадлежит разделу:

Сортировка, пирамидальная сортировка. Параметры задачи: размер последовательности, длина строки. Мера сравнения: число обменов, число сравнений, Время выполнения.

Сортировка пирамидальная сортировка Параметры задачи размер... последовательности длина строки Мера сравнения число обменов число... Время выполнения Пирамидальная сортировка Пирамидальная...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Вывод элементов массива на консоль

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Пирамидальная сортировка
Пи­ра­ми­даль­ная сор­ти­ров­ка бы­ла пред­ло­же­на Дж. Уи­льям­сом в 1964 го­ду. Это ал­го­ритм сор­ти­ров­ки мас­си­ва про­из­воль­ных эле­мен­тов; тре­буе­мый им до­пол­ни­тель­ный объ­ём па­мя­

Шейкерная сортировка
void Hashing_sort( T a[], const int n ) { int first = 0; int last = n; while( last > first ) { for( int i=first; i<last-1; i++ )

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги