• 大小: 419KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: 其他
  • 标签:

资源简介

课程设计报告及代码 静态单链表操作包括创建 插入 删除 输出初始化 等

资源截图

代码片段和文件信息

#include
#include
#include
#define MaxSize 100
typedef char ElemType[10];
typedef struct node
{
ElemType data;
int next;
}StaticList[MaxSize];
//初始化线性表
void InitList(StaticList s1)
{
int j;
s1[0].next=0;
for(j=1;j s1[j].next=-1;
}
//判断是否为空表
int ListEmpty(StaticList s1)
{
return(s1[0].next==0);
}
int ListLength(StaticList s1)
{
int n=0j=0;
while(s1[j].next!=0)
{
n++;
j=s1[j].next;
}
return(n);
}
//输出链表
void DispList(StaticList s1)
{
int j=0;
while(s1[j].next!=0)
{
j=s1[j].next;
cout< }
cout<}
//按值查找
int LocateElem(StaticList s1ElemType e)
{
int j=s1[0].next;
int n=1;
while(j!=0&&strcmp(s1[j].datae)!=0)
{
j=s1[j].next;
n++;
}
if(j==0)
return(0);
else 
return(n);
}
//求线性表中的第i个元素的值
int GetElem(StaticList s1int iElemType &e)
{
int k=0j=s1[0].next;
while(k {
k++;
j=s1[j].next;
}
if(j==0) //不存在第i个元素
return 0;
else  //存在第i个元素
{
strcpy(es1[j].data);
return 1;
}
}

//插入
int ListInsert(StaticList &s1ElemType eint i)
{
int j=s1[0].nextj1j2k;
if(i==1)
{
if(j==0)
{
strcpy(s1[1].datae);
s1[0].next=1;
s1[1].next=0;
return 1;
}
else
{
k=j+1;
while(k!=j)
{
if(s1[k].next==-1)
break;
else
k=(k+1)%MaxSize;
}
if(k!=j)
{
strcpy(s1[k].datae);
s1[k].next=s1[0].next;
s1[0].next=k;
return 1;
}
else return 0;
}
}
else 
{
k=0;
while(k {
k++;
j=s1[j].next;
}
if(j==0)
return 0;
else 
{
j1=j;
j2=s1[j].next;
k=j+1;
while(k!=j)
{
if(s1[k].next==-1)
break;
else
k=(k+1)%MaxSize;
}
if(k!=j)
{
strcpy(s1[k].datae);
s1[j1].next=k;
s1[k].next=j2;
return 1;
}
else return 0;
}
}
}
//删除
int ListDelete(StaticList s1int iElemType &e)
{
int j=s1[0].nextj1k;
if(s1[0].next==0)  //空表时删除失败
return 0;
if(i==1)          //删除第一个节点
{
j1=s1[0].next;
s1[0].next=s1[j1].next;
s1[j1].next=-1;
return(1);
}
else           //删除其他节点
{
k=0;
while(k {
k++;
j=s1[j].next;
}
if(j==0)
return 0;
else 
{
if(s1[j].next==0)//不存在第i个节点
return(0);
j1=s1[j].next;
s1[j].next =s1[j1].next;
strcpy(es1[j1].data);
s1[j1].next=-1;
return 1;
}
}
}

//主函数
void main()
{
    int it;
ElemType e;
StaticList L;
InitList(L);
ListInsert(L“a“1);
ListInsert(L“c“2);
ListInsert(L“a“3);
ListInsert(L“e“4);
ListInsert(L“d“5);
    ListInsert(L“b“6);
cout<<“该静态线性表为:“< cout<<“请输入要查找的值:“< cin>>e;
t=LocateElem(Le);
if(t!=0)
cout< else
cout<    i=6;
    GetElem(Lie);
cout<

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     214168  2009-07-01 14:38  312007080611108张敏数据结构\312007080611108张敏数据结构课程设计.rar

     文件      44544  2009-06-28 23:32  312007080611108张敏数据结构\数据结构课程设计\22.doc

    ..A..H.       162  2009-06-28 22:38  312007080611108张敏数据结构\数据结构课程设计\~$与计算机学院课程设计说明书1.doc

     文件     346112  2009-06-18 18:20  312007080611108张敏数据结构\数据结构课程设计\数学与计算机学院课程设计说明书1.doc

     文件       3278  2009-06-17 00:49  312007080611108张敏数据结构\数据结构课程设计\静态单向链表.cpp

     目录          0  2009-07-01 14:38  312007080611108张敏数据结构\数据结构课程设计

     目录          0  2009-07-01 14:39  312007080611108张敏数据结构

----------- ---------  ---------- -----  ----

               608264                    7


评论

共有 条评论

相关资源