(3)链栈的出栈操作pop( top)chap3_p1_4.c删除栈顶指针top所指栈顶元素,下一元素成为新的栈顶元素,出栈操作后栈顶指针将修改指向新栈顶元素,因此必须返回新栈顶指针。
ptopdatanextan 栈顶an-1 …a栈1 NULL底步骤1:p指向待出栈的当前栈顶结点Linkstack *p ; p = top ;步骤2:修改栈顶指针指向新栈顶
top= top->next ;
步骤3:删除出栈结点(旧栈顶结点)
free ( p ) ;
(3)链栈的出栈操作pop( top)chap3_p1_4.c删除栈顶指针top所指栈顶元素,下一元素成为新的栈顶元素,出栈操作后栈顶指针将修改指向新栈顶元素,因此必须返回新栈顶指针。
topdatanextan 栈顶an-1 …a栈1 NULL底步骤1:p指向待出栈的当前栈顶结点Linkstack *p ; p = top ;步骤2:修改栈顶指针指向新栈顶
top= top->next ;
步骤3:删除出栈结点(旧栈顶结点)
free ( p ) ;
出栈成功!
(3)链栈的出栈操作pop( top )链栈出栈操作的C函数实现
参看教材P50 函数pop
chap3_p1_2.c(4)链栈的取栈顶元素操作gettop( top)访问栈顶元素值(不出栈)
chap3_p1_5.ctopdatanextan 栈顶an-1 …a栈1 NULL底top ->data
an
相关推荐: