برنامه ی مرتب کردن صعودی اعداد به کمک پشته
سلام.برنامه ای که حداکثر 100 عدد را از ورودی دریافت کند و به کمک دو پشته این 100 عدد را به ترتیب صعودی مرتب کند چجوری نوشته میشه؟
از کلاس Stack که معرفی کردم میخوام به عنوان هدرفایل ازش استفاده کنم
تابعش رو نوشتم ولی نمیدونم چجوری میشه ازش استفاده کنم در C++
کد:
template<class T,int MAX>
class stack{
private:
int top;
T items[MAX];
public:
stack(){
top=-1;
}
bool empty(){
if(top==-1)
return true;
return false;
}
// ********************
void push(T x){
if(top==max-1)
exit(1);
items[++top]=x;
}
//**********************
T pop(){
if(emtpy())
exit(1);
return items[top--];
}
};
//**********************
T stacktop(){
if(emtpy())
exit();
return items[top];
}
};
و با توجه به اون کلاس استک که معرفی کردم برای الگوریتم مرتب کردن به صورت صعودی با استفاده از 2پشته, الگوریتم زیر به ذهنم رسید ولی نمیدونم درست هست یا نه
ممنون میشم اگه کمکم کنین
کد:
int a[]=100;
push(T x)=a[i]
for(i=0;i<max;i++)
while(a[i]<stacktop)
++top;
else
--top;