博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态链表
阅读量:5115 次
发布时间:2019-06-13

本文共 1397 字,大约阅读时间需要 4 分钟。

#include <iostream>

using namespace std ;

#define MAXSIZE 1000

#define OK true 
#define  ERROR false

typedef int ElemType ;

typedef bool Status ;

typedef struct 

{
 ElemType data ;
 int cur ;
}Component,StaticLinkList[MAXSIZE];

Status InitStaticLinkList(StaticLinkList space)

{
 for(int i = 0 ; i < MAXSIZE-1;i++)
  space[i].cur = i+1 ;
 space[MAXSIZE-1].cur = 0 ;
 return OK ;
}

int Malloc_SLL(StaticLinkList space )

{
 int i = space[0].cur ;
 if(space[0].cur)
  space[0].cur = space[i].cur;
 return i ;
}

int ListLength(StaticLinkList space )

{
 int len = 0 ;
 int i = space[MAXSIZE-1].cur;
 while(i)
 {
  len++ ;
  i = space[i].cur ;
 }
   return len ;
}
Status ListInsert(StaticLinkList space , int i , ElemType e )
{
 if( i < 1 || i > ListLength(space)+1)
  return ERROR ;
    int j = Malloc_SLL(space);
 if(j)
 {
       space[j].data = e ;
    int k = MAXSIZE-1 ;//k是最后一个元素的下标
    for(int l = 1 ; l <= i -1 ;l ++ )
     k = space[k].cur;
    space[j].cur = space[k].cur;
    space[k].cur = j ;
    return OK ;
 }
 return ERROR ;
}
void Free_SLL(StaticLinkList space , int k  )
{
 space[k].cur = space[0].cur ;
 space[0].cur = k ;
}
Status ListDelete(StaticLinkList space , int i )
{
 if( i < 1 || i > ListLength(space))
  return ERROR ;
 int k = MAXSIZE -1 ;
 int j = 0 ;
 for( ; j <= i-1 ; j ++)
  k = space[k].cur ;
 j = space[k].cur ;
 space[k].cur = space[j].cur ;
 Free_SLL(space , j);
 return OK;
}

转载于:https://www.cnblogs.com/dot-dot-123/archive/2013/05/28/3103043.html

你可能感兴趣的文章
【模板】最小生成树
查看>>
设计模式之结构型模式
查看>>
iis7规范URL及利用web.config进行重定向
查看>>
poj2569
查看>>
使用pygal_maps_world.i18n中数据画各大洲地图
查看>>
sql server必知多种日期函数时间格式转换
查看>>
ListView如何获取点击单元格内容
查看>>
jQuery EasyUI 的下拉选择combobox后台动态赋值
查看>>
timeline时间轴进度“群英荟萃”
查看>>
python if else elif statement
查看>>
网络编程
查看>>
文本隐藏(图片代替文字)
查看>>
three.map.control
查看>>
java面试题
查看>>
提高码力专题(未完待续)
查看>>
IOS第17天(3,Quartz2D画板和画线)
查看>>
pair的例子
查看>>
前端框架性能对比
查看>>
@property中 retain 详解
查看>>
java8 stream初试,map排序,list去重,统计重复元素个数,获取map的key集合和value集合...
查看>>