C语言实现栈操作:偶数栈与奇数栈

需积分: 20 1 下载量 80 浏览量 更新于2024-08-04 收藏 1KB TXT 举报
本资源是一份关于C语言编程的教程,重点讲述了如何使用栈(Stack)数据结构来实现一个特定的数据分类任务。标题“栈的操作--入栈出栈(C语言版)”明确指出了本文的核心内容是栈的基础操作,包括入栈(Push)和出栈(Pop),并结合了一个具体的场景:将输入的整数根据其奇偶性进行分类,偶数进栈1(S1),奇数进栈2(S2)。程序定义了两个栈结构sqstack,包含base和top指针,用于表示栈底和栈顶。 在createstack函数中,动态分配了指定大小的内存空间用于存储整数,并初始化top指针。Push函数用于向栈中添加元素,如果栈未满,则将元素值存储在top位置并递增top。Pop函数用于弹出栈顶元素,如果栈不为空则返回栈顶元素,否则返回-1。 在main函数中,首先创建两个空栈S1和S2,然后通过循环读取用户输入的10个整数,根据它们的奇偶性分别调用Push函数进行分类。最后,通过while循环,从栈S1和S2中依次出栈元素,并打印出偶数和奇数序列。 这个例子展示了栈在实际编程中的应用,不仅锻炼了对栈操作的理解,还涉及到了条件判断、数组和指针的使用。通过这个实验,学习者可以加深对C语言数据结构和控制流程的理解,同时也能够提升代码组织和逻辑思维能力。