Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.95
Daria
Сообщений: n/a
#1

Реализовать АТД Очередь с помощью массива - C++

28.10.2008, 13:55. Просмотров 2232. Ответов 0
Метки нет (Все метки)

Всем привет!
у меня есть некоторые зарисовки, но никак не могу привести программу к концу.
Задание:
Реализовать АТД Очередь с помощью массива;
Используя эту реализацию, написать функцию,
которая за один проход по заданному целочисленному массиву
выводит на печать его элементы в следующем порядке: сначала все четные, потом – нечетные.
кусочек программы который у меня есть:
Код
#include <cstdlib>
#include <cstdio>
#include <iostream.h>
#include <windows.h>



template <class X>
class queue
{

	X *data;
	int size;
	int first;
	int free;
	

public:
	queue (int sz=100)
	{

		size=sz;
		data=new X [size];
		free=0;
		first=free-0;
	}
	~queue () {		delete [] data;	}
	bool empty()
	{
		
		return first==free;
	}
	int & front()
	{
		return data [first];
	}
	void equeue (X x)
	{ 
		data [free]=x;
		free++;
		if(free==size)
			free=0;
	}
	void dequeue()
	{
		first++;
		if (first==size)
			first=0;
	}
	//X qretrieve();
};


void printq  ( queue <int> & Q)
{
		while (!Q.empty () )
		{	
			cout << Q.front ();
			Q.dequeue ();
		}
		cout << endl;
}
void split ()
{
		queue <int> Q,R;
		int x;
		cin >> x;
		while ( x!=0 )
		{
			if ( x>0 && x%2==1 )
				Q.equeue (x);
			else if (x>0 && x%2==0)
				R.equeue (x);
			else if (x==-1)
				printq (Q);
			else if (x==-2)
				printq(R);
			else cout<<"invalid comand";
			cin >> x;
		}
}

int main(int argc, char* argv[])
{
	printf("Hello World!\n");

	//cout<<"Vvedyte spisok";

	queue<int>  a(5), b(5);

	a.equeue(5);
	a.equeue(2);
	b.equeue(1);
	b.equeue(4);

	 
	 
	printq(a);
	 printq(b);
	 printq(a);
	 printq(b);
		
	
	
	return 0;
}
Помогите, пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2008, 13:55     Реализовать АТД Очередь с помощью массива
Посмотрите здесь:

C++ Реализовать с использованием массива очередь
C++ Реализовать очередь на базе односвязного списка
Смоделировать очередь с помощью масива C++
C++ Реализовать очередь на одномерном массиве
Добавьте к АТД «очередь» функцию first C++
C++ Реализовать добавление элементов в очередь
Реализовать очередь на массиве C++
C++ Согласно заданию реализовать класс абстрактного типа данных (далее АТД) как динамический массив. Для этого определение класса должно иметь следующие
C++ Реализовать очередь Unemployed на бирже труда
Реализовать структуру для хранения массива произвольного типа с помощью шаблонов C++
Реализовать стек с помощью массива C++
Реализовать очередь C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru