Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2011, 21:31   #1
mego4el
Пользователь
 
Аватар для mego4el
 
Регистрация: 19.09.2010
Сообщений: 87
Вопрос сортировка статических структур

Доброго вечера. Пожалуйста помогите написать проги на С++:

Разработать программы реализации методов сортировки статических структур данных:
1. Выбором, вставкой, обменом и сортировкой Шелла.
2. Выбором, вставкой, обменом и Шейкер-сортировкой.
3, Выбором, вставкой, обменом и "быстрой" сортировкой.

Последний раз редактировалось mego4el; 22.02.2011 в 21:35.
mego4el вне форума Ответить с цитированием
Старый 22.02.2011, 23:17   #2
ownedmuhaha
Новичок
Джуниор
 
Регистрация: 22.02.2011
Сообщений: 1
По умолчанию

Сортировка выбором, на экран выводит каждый шаг сортировки.
Код:
#include <iostream>
using namespace std;
int main()
{
	int array[10]={9,1,0,2,7,4,8,3,5,6};
	for(int x=0; x<10; x++)
	{cout<<array[x]<<", ";}
	cout<<endl;
	
	int min;
	int i, j;
	
	for(i=0; i<10; i++)
	{
		min=array[i];
		for(j=i+1; j<10; j++)
		{
			if(array[j]<min)	min=array[j];
		}
		for(j=i+1; j<10; j++) {if(array[j]==min) array[j]=array[i];}
		array[i]=min;
			for(int x=0; x<10; x++)
			{cout<<array[x]<<", ";}
			cout<<endl;
	}
	return 0;
}
Сортировка вставкой, её писал не полностью, стырил откуда-то кусок кода, т.к. на мой взгляд это абсолютно тупой вид сортировки.
Код:
#include <iostream>
using namespace std;
int main()
{
	int array[10]={9,1,0,2,7,4,8,3,5,6};
	for(int x=0; x<10; x++)
	{cout<<array[x]<<", ";}
	cout<<endl;

	int i, j, key;

       for (i=1; i<10; i++) 
       {
             key=array[i];
             j=i-1;
             while(j>=0 && array[j]>key)
             {
                   array[j+1]=array[j];
                   j--;
             }
             array[j+1]=key;
			 for(int x=0; x<10; x++)
			{cout<<array[x]<<", ";}
			cout<<endl;
       }

	return 0;
}
Сортировка обменом, она же пузырьковая сортировка.
Код:
#include <iostream>
using namespace std;
int main()
{
	int array[10]={9,1,0,2,7,4,8,3,5,6};
	for(int x=0; x<10; x++)
	{cout<<array[x]<<", ";}
	cout<<endl;

	int i,j,key,a;

	for(i=9; i>1; i--)
	{
		for(j=0; j<i; j++)
		{
			a=0;
			if(array[j]>array[j+1])
			{
				key=array[j];
				array[j]=array[j+1];
				array[j+1]=key;
				a=1;
			}
						
						for(int x=0; x<10; x++)
						{cout<<array[x]<<", ";}
						cout<<endl;
		}
	if(a==0) return 0;     /* Проверка условия Айверсона. "Сортировку можно прекратить досрочно, если на каком-то этапе
                                         в ходе сравнения не будет сделано ни одной перестановки."*/


			for(int x=0; x<10; x++)
			{cout<<array[x]<<", ";}
			cout<<endl<<endl;
	}
	return 0;
}

Последний раз редактировалось ownedmuhaha; 23.02.2011 в 00:18.
ownedmuhaha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка массива структур silence_master Помощь студентам 4 05.05.2010 21:26
Сортировка массива структур 3OH! Помощь студентам 4 02.05.2010 21:32
Си : сортировка массива структур Чубрик Общие вопросы C/C++ 5 23.01.2010 22:02
Сортировка массива структур. nec117 Общие вопросы C/C++ 5 22.02.2009 18:01
Сортировка массива структур arturka Помощь студентам 1 21.06.2008 14:15