1.2静态链表
来源:互联网 发布:千牛是什么软件 编辑:程序博客网 时间:2024/06/06 03:37
#include<iostream>#define MAXSIZE 100using namespace std;typedef struct {int x;int next;}SNode;typedef struct {SNode sp[MAXSIZE];int SL;}StList,*PStList;//静态链表初始化PStList Creat_StList(void){//创建一静态链表,入口参数无PStList PL;PL=(PStList)malloc(sizeof(StList));if(PL){PL->SL=-1; //PL->sp[0].next=-1;}return PL;}//求静态链表的长度int Length_StList(StList L){return L.SL+1;}//静态链表的检索操作int Location_StList(StList L,int x){int i=0;while(i<L.SL&&L.sp[i].x!=x) i++;if(i>=L.SL) return 0;//查找失败else return (i+1);}//静态链表的插入操作int Insert_StList(PStList PL,int x){//在静态链表的((第i个元素之前))插入x//;if(!PL){cout<<"表不存在!";return (-2);}if(PL->SL>=MAXSIZE){cout<<"表溢出!";return (-1);}/*if(i<1||i>PL->SL+1){cout<<"插入位置不合法!";return 0;}*/ PL->sp[PL->SL+1].x=x;PL->sp[PL->SL+1].next=-1;if(PL->SL>=0) PL->sp[PL->SL].next=PL->SL+1;PL->SL++;return 1; // 插入成功}//静态链表的删除操作int Delete_StList(PStList PL,int i){//删除静态链表第i个元素 int j,k;if(!PL){cout<<"表不存在!";return (-2);}if(PL->SL>=MAXSIZE){cout<<"表溢出!";return (-1);}if(i<1||i>PL->SL){cout<<"删除位置不合法!";return 0;}k=PL->sp[0].next;for(j=0;j<i-1;j++)k=PL->sp[j].next; PL->sp[j].next=PL->sp[k].next;return 1; // 删除成功}int josephus(PStList josephus_StList,int s,int m){//入口参数为已存在的链表头指针,起始位置s,报数到mint i,s1,w;if(!josephus_StList){cout<<"表中无元素!";return 0;}cout<<"输出约瑟夫序列:"<<endl; for(i=josephus_StList->SL;i>0;i--){s1=(s1+m-1)%i; //出列元素下标w=josephus_StList->sp[s1].x;cout<<w<<"\t";Delete_StList(josephus_StList,s1+1);}return 1;}int main(){PStList H=Creat_StList();int i;for(i=0;i<10;i++) Insert_StList(H,9-i);for(i=0;i<10;i++)cout<<H->sp[i].x<<" ";//josephus(H,1,2); return 0;}
0 0
- 1.2静态链表
- 静态链表
- VB静态链表
- 静态链表
- 静态链表
- 静态链表
- 静态链表
- 静态链表
- 静态链表实例
- 静态链表
- 静态链表。实现。
- 静态链表
- 静态链表
- 静态链表例子
- 静态链表模版
- 静态链表
- 【数据结构】静态链表
- 静态链表
- Eclipse搜索快捷键
- 朴素贝叶斯法的参数估计
- 总结与计划
- OpenGl的glMatrixMode()函数理解
- Android通过webservice连接SQLServer 教程
- 1.2静态链表
- HttpClient和HtmlUnit的比较总结以及使用技巧(一)
- test7.12
- 《深入理解mybatis原理》系列文章
- core foundation与objective-c之间有什么关系和区别
- long long与__64int的区别
- OC之合成存取器总结
- HTTP Live Streaming直播(iOS直播)技术分析与实现
- VS2013配置OpenGL