数组实现堆栈完成扑克洗牌发牌过程
发布日期:2021-06-21 02:53:47
浏览次数:12
分类:技术文章
本文共 2159 字,大约阅读时间需要 7 分钟。
#include#include #include #include using namespace std;void Swap(int*,int*);void push(int statck[],int MAX,int val);int pop(int stack[]);int top=-1;int main(void){ int card[52],stack[52]={0}; int i,j,k=0, ascVal; char suit[4][10]={"草花","方块","红桃","黑桃"}; int style;//只要用户或第三方不设置随机种子,那么在默认情况下随机种子来自系统时钟。如果想在一个程序中生成随机数序列,//需要至多在生成随机数之前设置一次随机种子。// 即:只需在主程序开始处调用srand((unsigned)time(NULL)); 后面直接用rand就可以了。//不要在for等循环放置srand((unsigned)time(NULL)); srand((unsigned)time(NULL)); for (i=0;i<52;i++) card[i]=i+1;//card[i]里边存了牌的序号 cout<<"[洗牌中...请稍后!]"< =0) { style = stack[top]/13; //计算扑克牌的花色 switch(style) //扑克牌花色对应的图标 { case 0: //梅花 ascVal=0; break; case 1: //方块 ascVal=1; break; case 2: //红心 ascVal=2; break; case 3: //黑桃 ascVal=3; break; } cout<<"["< < < <<"]\t"; if(top%4==0) cout< =MAX-1) cout<<"[堆栈已经满了]"<
核心代码模块:
//栈顶为stack[Max-1],栈底为stack[0]void push(int stack[],int MAX,int val){ if(top>=MAX-1) cout<<"[堆栈已经满了]"<
链表实现堆栈核心代码
using namespace std;class Node //声明堆栈链表节点{ public: int data; //声明存放堆栈数据的变量 class Node *next; //堆栈中用来指向下一个节点的指针};typedef class Node Stack_Node; //定义堆栈中节点的新类型,Node是一个类型,相当于int,此处定 //义一个新类型,stack_Node也就具有了Node的属性typedef Stack_Node *Linked_Stack; //定义链表堆栈的新类型,此处Stack_Node *是一个指针类型, //相当于int*,此处Linked_Stack便有了Node*的属性Linked_Stack top=NULL; //指向堆栈顶端的指针//可根据top的值判断堆栈的状态//判断是否为空堆栈int isEmpty(){ if(top==NULL) return 1; else return 0;}//将指定的数据压入堆栈void push(int data){ Linked_Stack new_add_node; //新加入节点的指针 //分配内存给新节点 new_add_node=new Stack_Node; //Test* pTest = new Test() new_add_node->data=data; //将传入的值赋值给节点的数据变量 new_add_node->next=top; //将新节点指向堆栈的顶端,top是一个栈顶指针 top=new_add_node; //新节点成为堆栈的顶端}//从堆栈弹出数据int pop(){ Linked_Stack ptr; //指向堆栈顶端的指针 int temp; if(isEmpty()) //判断堆栈是否为空,如果是则返回-1 { cout<<"===目前为空堆栈==="<next; //将堆栈顶端的指针指向下一个节点,让top保持在链表最后面 temp=ptr->data; //取出堆栈的数据 free(ptr); //将节点占用的内存释放 return temp; //将从堆栈取出的数据返回给主程序 }}
转载地址:https://blog.csdn.net/konglingshneg/article/details/85228556 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年08月21日 06时58分34秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
qt creator源码全方面分析(3-1)
2019-05-24
概率统计21——指数分布和无记忆性
2019-05-24
求1+2+3+...+n
2019-05-24
和为S的连续正数序列
2019-05-24
Python心得--新手开发注意
2019-05-24
计算机网络-网络应用
2019-05-24
国际电汇的清算代码是什么?
2019-05-24
浅谈CC攻击原理与防范
2019-05-24
CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群
2019-05-24
整理了Linux常用命令变量
2019-05-24
五种编程语言解释数据结构与算法——顺序表3(JavaScript与Python语言实现)
2019-05-24
MTU(Maximum Transmission Unit),最大传输单元
2019-05-24
lua学习之函数篇
2019-05-24
leetcode| 94. 二叉树的中序遍历
2019-05-24
内网学习之MySQL服务提权
2019-05-24
lua学习之类型与值篇
2019-05-24
机器学习算法总览
2019-05-24
洛谷P5661 公交换乘(CSP-J 2019 T2)
2019-05-24
开箱即用~基于.NET Core的统一应用逻辑分层框架设计
2019-05-24