若一个栈用数组data[1..nl存储,初始栈顶指针top为n+1,则以下元素×出栈的正确操作是()A.x=data[top]; top++;B.top++; x=data[top];C.x=data[top]; top--;D.top--; x=data[top];答:进栈操作是:top--;data[top]=x(top指向栈顶元素);出栈操作与进栈操作相反,应该为x=data[top];top++;。题答案为A。top21/101
若一个栈用数组data[1.n]存储,初始栈顶指针top为n+1,则以下 元素x出栈的正确操作是( )。 A.x=data[top]; top++; B.top++; x=data[top]; C.x=data[top]; top-; D.top-; x=data[top]; 答:进栈操作是:top-;data[top]=x( top指向栈顶元素); 出 栈操作与进栈操作相反,应该为x=data[top]; top++;。题答案为A。 ai . . 1 . . n top 21/101
若一个栈用数组data[1..n]存储,初始栈顶指针top为1,则以下元素x进栈的正确操作是()。A.top++; data[top]=x;B.data[top]=x;top++;C.top--; data[top]=x;D.data[top]=x; top--;答:初始栈顶指针top为1,说明data[11端作为栈底,在进栈时top应递增,由于存在data[1]的元素,所以在进栈时应先将x放在top处,再top递增(top指向栈顶元素的前一个位置!)。答案为B。n栈元素一top22/101
若一个栈用数组data[1.n]存储,初始栈顶指针top为1,则以下元 素x进栈的正确操作是( )。 A.top++; data[top]=x; B.data[top]=x; top++; C.top-; data[top]=x; D.data[top]=x; top-; 答:初始栈顶指针top为1,说明data[1]端作为栈底,在进栈时 top应递增,由于存在data[1]的元素,所以在进栈时应先将x放在top处, 再top递增(top指向栈顶元素的前一个位置!)。答案为B。 栈元素→ 1 . . n top 22/101
若一个栈用数组data[1..nl存储,初始栈顶指针top为1,则以下元素X出栈的正确操作是()A.x=data[top]; top++;B.top++; x=data[top];C.x=data[top]; top--;D.top--; x=data[top];答:进栈操作是:B.data[top]=x;top++;(top指向栈顶元素的前一个位置)。出栈操作与进栈操作相反,应该为top--;x=data[top]。题答案为D。Ptop23/101
若一个栈用数组data[1.n]存储,初始栈顶指针top为1,则以下元素 x出栈的正确操作是( )。 A.x=data[top]; top++; B.top++; x=data[top]; C.x=data[top]; top-; D.top-; x=data[top]; 答:进栈操作是: B.data[top]=x; top++;(top指向栈顶元素的前 一个位置)。出栈操作与进栈操作相反,应该为top-; x=data[top]。 题答案为D。 . . ai 1 . . n top 23/101
顺序栈的应用算法设计示例3.1.3【例3.4】设计一个算法利用顺序栈检查用户输入的表达式中括号是否配对(假设表达式中可能含有圆括号、中括号和大括号)。并用相关数据进行测试。24/101
【例3.4】设计一个算法利用顺序栈检查用户输入的表达式中括号 是否配对(假设表达式中可能含有圆括号、中括号和大括号)。并用 相关数据进行测试。 24/101
publicclassExam3_41/判断算法(public static boolean isMatch(String str){ int i=o;char e,x;Sqstackclass<character>st=new SqStackclass<Character>();//建立一个顺序栈while(i<str.length())(e=str.charAt(i);if (e=-'( Il e=='[' Il e=-'{')//将左括号进栈st.push(e);25/101
public class Exam3_4 { public static boolean isMatch(String str) //判断算法 { int i=0; char e,x; SqStackClass<Character> st=new SqStackClass<Character>(); //建立一个顺序栈 while (i<str.length()) { e=str.charAt(i); if (e=='(' || e=='[' || e=='{') st.push(e); //将左括号进栈 25/101