⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 make_stack.txt

📁 关于栈的基本操作:自己做得数据结构试验内容
💻 TXT
字号:

#include"stdafx.h"
#include<iostream>
#include<string>
#define MAXSIZE 10
/*#include<malloc.h>
#define LEN sizeof(struct student) */         //为方便,以后可常用,适当举一反三。

using namespace std;

int* ConstructStack(int brr[])
{
	cout<<"**********************栈的基本操作部分*********************"<<endl;
	int n,i=0;
	int *p1=brr;
	cout<<"输入你想要建立的栈的长度,若建立空栈,则长度为0(请勿超过在此设定的最大栈长"<<MAXSIZE<<"):"<<endl;
	cin>>n;
	while(n>MAXSIZE)
	{
		cout<<"错误,超过最大栈长,请重新输入:"<<endl;
		cin>>n;
	}

	while(i<n)
	{
		cout<<"输入第"<<i+1<<"个数字:"<<endl;
		cin>>(*p1);
		i++;
		p1++;
	}
    return(p1);
}

int Empty(int *c,int *d)
{
	cout<<"*******************栈的判空*****************"<<endl;
	if(c==d)return 0;
	else return 1;
}

void Push(int *t1,int *t2)
{
	cout<<"**********************出栈**********************"<<endl;
	while(t1!=t2)
	{
		t2--;
		cout<<(*t2)<<" ";
	}
}
int main()
{
	int a[MAXSIZE],b[MAXSIZE];
	int n,R;
	int *base,*top,*p;
	char c;
	top=a;
	p=top;
	cout<<"下面将进行十进制数与R进制数的转换"<<endl;
	cout<<"请设定R值:"<<endl;
	cin>>R;
	while(!R||R<0)
	{
		cout<<"错误,重新输入:"<<endl;
		cin>>n;
	}
	
	cout<<"输入任意一个非零,非负十进制数:"<<endl;
	cin>>n;
	while(!n||n<0)
	{
	     cout<<"错误,重新输入:"<<endl;
			 cin>>n;
	}

         while(n)
	       {
            *p=n%R;
		    p++;
		    n=n/R;
		   }
			cout<<"转换结果为:"<<endl;
			do 
	       {
		    p--;
			if(*p>9)//以十六进制形式输出
			{
				c=(*p)+55;
                cout<<c;
			}
			else
            cout<<(*p);
		   } while (p!=top);
		   cout<<endl;

    //**********************栈的基本操作部分*********************
	base=top=b;
	top=ConstructStack(base);

	//"*******************栈的判空******************
	if(Empty(base,top))
		cout<<"此栈非空"<<endl;
	else
		cout<<"此栈为空栈"<<endl;
	//**********************出栈咯******************
	Push(base,top);
	system("pause");
	return 0;
};





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -