使用纯C实现贪吃蛇小游戏,欢迎小伙伴探讨使用纯C实现的其他算法。感兴趣的伙伴可以自己也试着写一下,如果纯C不太容易,使用其他面向对象的语言实现会轻松不少。可使用上/下/左/右键或A/S/D/W键控制贪吃蛇移动方向
2022-04-13 23:15:16 17KB C语言 双向链表 贪吃蛇
1
/* * 基于链表实现树结构 */ package dsa; public class TreeLinkedList implements Tree { private Object element;//树根节点 private TreeLinkedList parent, firstChild, nextSibling;//父亲、长子及最大的弟弟 //(单节点树)构造方法 public TreeLinkedList() { this(null, null, null, null); } //构造方法 public TreeLinkedList(Object e, TreeLinkedList p, TreeLinkedList c, TreeLinkedList s) { element = e; parent = p; firstChild = c; nextSibling = s; } /*---------- Tree接口中各方法的实现 ----------*/ //返回当前节点中存放的对象 public Object getElem() { return element; } //将对象obj存入当前节点,并返回此前的内容 public Object setElem(Object obj) { Object bak = element; element = obj; return bak; } //返回当前节点的父节点;对于根节点,返回null public TreeLinkedList getParent() { return parent; } //返回当前节点的长子;若没有孩子,则返回null public TreeLinkedList getFirstChild() { return firstChild; } //返回当前节点的最大弟弟;若没有弟弟,则返回null public TreeLinkedList getNextSibling() { return nextSibling; } //返回当前节点后代元素的数目,即以当前节点为根的子树的规模 public int getSize() { int size = 1;//当前节点也是自己的后代 TreeLinkedList subtree = firstChild;//从长子开始 while (null != subtree) {//依次 size += subtree.getSize();//累加 subtree = subtree.getNextSibling();//所有孩子的后代数目 } return size;//即可得到当前节点的后代总数 } //返回当前节点的高度 public int getHeight() { int height = -1; TreeLinkedList subtree = firstChild;//从长子开始 while (null != subtree) {//依次 height = Math.max(height, subtree.getHeight());//在所有孩子中取最大高度 subtree = subtree.getNextSibling(); } return height+1;//即可得到当前节点的高度 } //返回当前节点的深度 public int getDepth() { int depth = 0; TreeLinkedList p = parent;//从父亲开始 while (null != p) {//依次 depth++; p = p.getParent();//访问各个真祖先 } return depth;//真祖先的数目,即为当前节点的深度 } }
2022-04-12 22:24:34 2KB java 算法 树结构 链表 算法源码
1
程序设置了三个级别的帐户: 一 超级管理员帐户 :ID:admin passwd:admin 拥有对老师学生的所有操作。 二 老师帐户:帐号密码由文件读取,修改删除由管理员控制。拥有对学生的修改成绩 录入成绩, 修改学生的成绩。查看统计成绩信息。修改更新自己的信息。 三 学生帐户 :对自己的信息的更新修改! 查看自己的成绩信息! 管理员账号密码静态3次错误输出会推出系统 教师账号密码由管理员创建存在teacher.dat里面 学生账号密码也有管理员初始创建存在student.dat里面。 学生和教师在登录时首先检查账号是否存在。存在后输入密码,在密码错误三次后。退出! 本系统在系统运行时读入文件。在需要修改的时候时刻保存和更新排名。当修改不被保存的时候会从文件再次读入!
2022-04-05 17:59:26 58KB LINUX 链表 学生管理系统
1
主要为大家详细介绍了C++单链表实现大数加法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
1
udp多线程实现多客户端并发,并采用链表实现服务器群发消息
2022-03-16 08:15:54 13KB linux c multithread concurrency
1
1.1 课程设计内容 利用双向循环链表作为储存结构设计并实现一个通讯录程序。可以实现信息的添加、插入、删除、查询和统计等功能 1.2 课程设计要求 (1) 每条信息至少包含:姓名(name)、街道(street)、城市(city)、邮编、(eip)、国家(state)几项; (2) 作为一个完整的系统。应该具有有好的界面和较强的容错能力。 2 课程设计原理 2.1 课设题目粗略分析 根据课设题目要求,拟将整体程序分为五大模块。此五个模块相互独立,没有嵌套调用的情况,以下是五个模块的大体分析: (1)添加新联系人 系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括姓名(name),街道(street),城市(city),邮编(eip),国家(state)。 (2)查询 该功能将显示已经保存的所有人员的姓名,街道,城市,邮编及国家。并且可由用户输入要查找的人员姓名,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息。 (3)删除联系人 首先由用户输入要删除的人员的姓名,然后调用删除函数,删除该人员的所有相关资料。
2022-03-10 22:55:18 169KB 双链表 通讯簿
1
C语言课程设计的职工管理系统,使用链表实现,可实现录入、查找、删除、修改、保存等功能
2022-03-03 19:49:16 30KB C语言 课程设计
1
输入随意,可以按照xxxx,xxxx,xxxx格式来 输出xx,xxxx,xxxx,xxxx 数据结构课程设计,加了一些特殊情况的处理,自我认为还不错,但没有用类封装,如有不好,请多多指教,部分代码: int main() { string a,b; char render; Big_num p1,p2; system("mode con lines=35 cols=65"); system("color 3f"); //system("color C"); system("title 恒天天牌计算神器"); welcome(); system("pause"); while(1) { //freopen("in.txt","r",stdin); answer.clear(); flag=0; system("cls"); // gotoxy(0,0); cout<<"请输入想要计算的数的进制(最多35进制):"<>num; judge(); ///判断要输入的数是否为整数或小于35 scanf: system("cls"); // gotoxy(0,0); cout<<"您现在计算的是"<a>>b; judgebig(a,b); Init_list(); p1=Init_num(p1); p2=Init_num(p2); p1=InitBig_num(p1,a,1); p2=InitBig_num(p2,b,2); //cout<
1
链表实现集合运算 链表实现集合交并差运算
2022-01-07 00:45:11 5KB 链表 课设
1
原创C语言实现词频统计,使用通用数据类型的双向链表进行缓存,自动拆分单词,,可通过命令行一次性读取多个文本,分别输出统计结果,简单实用。
2022-01-06 22:02:50 506KB 数据结构 c语言
1