30.05.2009, 02:10 | #1 (permalink) |
Новичок
Регистрация: 12.04.2009
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Очередь на С
Код:
#include <iostream> #include <cassert> class Queue; typedef int T; const int S=50; class Queue { private: int first; int size; T data[S]; public: Queue() { first; size=0; } ~Queue() {} bool isEmpty() { return size==0; } int count() { return size; } bool push(T t) { // std::cout<<"Yahoo"<<"\n"; if(size==S) return false; else{ data[(first+size++)%S]=t; return true; } } bool pop() { if(!size) return false; else{ first++; first%=S; size--; return true; } } T top() { if(size) return data[first]; } bool contains(T t) { //std::cout<<"Yahoo"<<"\n"; for(int i=0; i<size; i++) { //std::cout<<"Yahoo"<<"\n"; //std::cout<<data[2]<<"\n"; if(data[i]==t) return true; return true; } return false; } void print() { for(int i=0; i<size; i++) { std::cout<<data[i]<<"\n"; } } void bubblesort() { int i; int j; int tmp; for(i = 0; i <= size-1; i++) { for(j = 0; j <= size-2-i; j++) { if( data[j]>data[j+1] ) { tmp = data[j]; data[j] = data[j+1]; data[j+1] = tmp; } } } } }; int main() { Queue q; assert(q.isEmpty()==true); assert(q.push(12)==true); assert(q.push(13)==true); assert(q.count()==2); assert(q.isEmpty()==false); assert(q.pop()==true); assert(q.isEmpty()==false); assert(q.count()==1); assert(q.contains(13)==true); q.bubblesort(); q.print(); return 0; } |
30.05.2009, 02:10 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Давайте я вам помогу найти схожие с вашей темы Очередь, реализованная с помощью массива Что в первую очередь апгрейдить? Вы пришли на работу, что сделаете в первую очередь? |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|