资源简介
约瑟夫问题(C语言实现),以后会逐步添加其他实验
代码片段和文件信息
#include
#include
/*定义常量*/
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define null 0
#define INFEASIBLE -1
#define OVERFLOW -2
/*定义类型*/
typedef int Status;
typedef int ElemType;
/*定义节结点类型及双向循环链表的存储结构*/
typedef struct link{
ElemType data;
ElemType number;
struct link *prior;
struct link *next;
}link*linkList;
Status initList(linkList *L){/*初始化链表*/
*L=(linkList)malloc(sizeof(link));
if(*L){
(*L)->next=(*L)->prior=*L;
(*L)->data=null;
return OK;
}
else return OVERFLOW;
}
Status destroyList(linkList *L){/*销毁链表并将链表返回 */
linkList qp=(*L)->next;
while(p!=*L){/*返回表头时结束 */
q=p->next;
free(p);
p=q;
}
free(*L);
*L=NULL;
return OK;
}
Status isEmpty(linkList L){/*判断链表是否为空用return返回TRUE或FALSE*/
return ((L->next==L&&L->prior==L));
}
Status insertFirst(linkList LElemType data1ElemType number1){
/*插入元素并作为第一个结点*/
linkList newlink=(linkList)malloc(sizeof(link));
newlink->data=data1;
newlink->number=number1;
if(!isEmpty(L)){
newlink->prior=L;
newlink->next=L->ne
相关资源
- WPS、微软EXCEL通用C++接口表格通用C+
- VS2017 C++ 编写一个通过注册表自定义软
- C++短信猫短信收发封装
-
VC 读写xm
l文件运用 - 如何在状态栏中添加进度条(visual
- C语言MP3播放器源代码
- rgb24转yuv420高效率 完整代码,C++实现
- c++ 数据结构6种排序算法及关键词比较
- 职工信息管理系统C语言版
- 编译原理C++实现判断LL1文法
- 正则表达式—>NFA—>DFA—>DFA最小化
- 模数转换器ADS1252 程序适用于c51系列的
- libnfc 1.6 所有工具Windows编译 NFCTools
- 篮球赛计时计分器毕业设计自己写的
- C++实现的高效A*算法
- expat-2.0.1
- p2p的C语言编写,LINUX可执行程序+运行
- 基于OpenDDS的MFC界面程序
- 基于C++的环形缓冲区.zip
- 8数码游戏 A*算法 C++实现
- VS2012-C++编写、调用DLL库教程
- MD5 C++实现 对文件计算MD5值
- VC/MFC实现简单的Http服务器可访问图片
- C++实现ATM机程序采用mysql连接
- RapidJson解析JSON文件C++ vs2017亲测可完美
- 用回溯法、蛮力法解决01背包问题
- MFC封装的MySQL操作类
- 串口通信c程序
- p2p技术C语言源码
- 通过MFC和OpenGL实现点云数据的提取和
评论
共有 条评论