package stack;
import java.util.Stack;
public class Sequence {
int MAX;
int len;
int[] data;
int top;
public Sequence(int m) {
this.MAX = m;
this.data = new int[m];
this.top = -1;
this.len = 0;
}
//压栈
public boolean push(int temp) {
if(this.len == this.MAX) {
System.out.println("Push failed.");
return false;
}
top++;
len++;
data[top] = temp;
return true;
}
//出栈
public int pop() {
int temp = data[top];
top--;
len--;
return temp;
}
//获取top数据
public int getTop() {
return data[top];
}
//二进制转十进制
public int binTo10() {
int sum = 0;
for(int i=0; len!=0; i++) {
sum += Math.pow(2, i) * pop();
}
System.out.println(sum);
return sum;
}
//十进制转二进制
public Sequence tenTo2(int k) {
Sequence s = new Sequence(this.MAX*4);
while(k != 0) {
s.push(k %
Java利用栈实现二进制和十进制、八进制、十六进制的互相转换
最新推荐文章于 2022-11-13 18:54:12 发布