首页 > 其他 > 详细

静态链表

时间:2014-10-09 20:04:38      阅读:255      评论:0      收藏:0      [点我收藏+]
#include<iostream>
#include<sctring>
#include<string>
#include<cstdlib>
#define maxsize 100
using namespace std;
typedef struct
{
    char data;
    int next;//游标代替指针
}staticlist[maxsize];
//建立静态链表
void creat(staticlist L,char a[],int n)
{
    int i = 0;
    L[0].next = 1;
    for(i = 1;i <= n;i++)
    {
        strcpy(L[i].data,a[i-1]);
        L[i].next = i+1;
    }
    L[n].next = 0;//将尾元素的指针域置为0,形成循环链表
}
//初始化
void initlist(staticlist L)
{
    int j;
    L[0].next = 0;
    for (j = 1;j < maxsize;j++)
        L[j].next = -1;
}
//判断是否为空表
int listEmpty(staticlist L)
{
    return (L[0].next == 0);
}
int listlength(staticlist L)
{
    int i = 0,j = 0;
    while (L[j].next != 0)
    {
        i++;
        j = L[j].next;//指向下一个游标
    }
    return i;
}
//输出
void displist(staticlist L)
{
    int j = 0;
    while (L[j].next != 0)
    {
        j = L[j].next ;
        cout << j << ": " << L[j].data << "游标值: " << L[j].next << endl;
    }
}

 

静态链表

原文:http://www.cnblogs.com/tong1487/p/4013964.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!