PDA

View Full Version : پیاده سازی پشته



زینبVIN
سه شنبه 29 اسفند 1385, 22:19 عصر
باسلام
می خواستم یک پشته را در زبانC++ برایم پیاده سازی کنید
با تشکر

زینبVIN
سه شنبه 29 اسفند 1385, 22:22 عصر
ایا کسی به جز استراسن پیچیدگی زمانی ماتریس N.Nرا کاهش داده

greenway
چهارشنبه 01 فروردین 1386, 02:03 صبح
باسلام
می خواستم یک پشته را در زبانC++ برایم پیاده سازی کنید
با تشکر



#define STACKSIZE 20

typedef struct _STACKDATA_ {
int mydata;
} STACKDATA,*PSTACKDAT;

STACKDATA Stack[STACKSIZE];

int StackTop=0;

void Push(STACKDATA MyData)
{
if (StackTop==STACKSIZE)
{
printf("Stack OverFlow");
return;
}
Stack[StackTop]=MyData;
StackTop++;
return;
}

STACKDATA Pop(void)
{
if (StackTop==-1)
{
printf("Stack UnderFlow");
return NULL;
}
return Stack[StackTop--];
}


ببخشید که سی هست ، پایه اش اینه ، خودتون تبدیلش به کلاس بکنید که بشه سی پلاس پلاس.

esshahab
دوشنبه 06 فروردین 1386, 16:15 عصر
templae <class T>
class stack{
public:
stack(int);
~stgack();
int push(T);
int pop(T&);
bool isEmpty();
bool isFull();
privae:
int size,top;
T *stk;
};
templae <class T>
stack<T>::stack(int a){
size=s;
top=-1
stk=new T[size];
}
template <class T>
stack<T>::~stack(){
delete []stk;
}
template <class T>
int stack<T>::push(T x){
if(!isFull){
stgk[++top]=x
retgurn 1;
}
retgurn 0;
}
template <class T>
int stack<T> pop(T& x){
if(!isEmpty){
x=stk[top--];
retgurn 1;
}
return 0;
}
template <class T>
bool stack<T> isEmpty(){
retgurn (top==-1)
}
template <class T>
bool stack<T> isFull(){
return (top==size-1);
}

------------------------------------------------------------
من هر کاری کردم نوشته ها مرتب نشدند
نوشته ها را در یک فایل word کپی کنید شاید درست شود

زینبVIN
شنبه 11 فروردین 1386, 21:34 عصر
#define STACKSIZE 20

typedef struct _STACKDATA_ {
int mydata;
} STACKDATA,*PSTACKDAT;

STACKDATA Stack[STACKSIZE];

int StackTop=0;

void Push(STACKDATA MyData)
{
if (StackTop==STACKSIZE)
{
printf("Stack OverFlow");
return;
}
Stack[StackTop]=MyData;
StackTop++;
return;
}

STACKDATA Pop(void)
{
if (StackTop==-1)
{
printf("Stack UnderFlow");
return NULL;
}
return Stack[StackTop--];
}


ببخشید که سی هست ، پایه اش اینه ، خودتون تبدیلش به کلاس بکنید که بشه سی پلاس پلاس.
فرق c وc++در چیست
برنامه را ran کردید

زینبVIN
شنبه 11 فروردین 1386, 21:37 عصر
#define STACKSIZE 20

typedef struct _STACKDATA_ {
int mydata;
} STACKDATA,*PSTACKDAT;

STACKDATA Stack[STACKSIZE];

int StackTop=0;

void Push(STACKDATA MyData)
{
if (StackTop==STACKSIZE)
{
printf("Stack OverFlow");
return;
}
Stack[StackTop]=MyData;
StackTop++;
return;
}

STACKDATA Pop(void)
{
if (StackTop==-1)
{
printf("Stack UnderFlow");
return NULL;
}
return Stack[StackTop--];
}


ببخشید که سی هست ، پایه اش اینه ، خودتون تبدیلش به کلاس بکنید که بشه سی پلاس پلاس.
به جز استراسن کی دیگه ضرب استراسن را انجام داده