数据结构笔记(3)

这次主要关注点在:静态链表,双向链表,循环链表。


1.静态链表

线性表的静态链表的存储结构

<pre name="code" class="cpp">
#define MAXSIZE 1000
typedef struct
{
ElemType data;
int cur;
}
Component,staticLinkList[MAXSIZE];


 
动态链表:采用malloc()和free()两个函数实现申请和释放。 

静态链表:将所有未被使用过的及已被删除的的分量用游标做成一个备用链表,每当进行插入时,便可以从备用链表上去的第一个节点作为待插入的新节点。

若备用节点空间链表非空,则返回分配的节点下标,否则返回0

/* 在链表L中第i个元素之前插入数据元素e

 

Status ListInsert( StatticLinkList L, int i , ElemTpye e)
{
	int j,k,l;
	k =MAX_SIZE-1;
	if(ii<1||i>ListLength(L)+1)
	return ERROR;
	j = Malloc_SSL(L); //获得空闲分量下标
	if(j)
	{
		L[j].data = e;
		for( l=1;l<=i-1;l++)
			k = L[k].cur;
		L[j].cur = L[k].cur;
		L[k].cur=j;
		return OK;
	}
	return ERROR;
}


 

/*删除在L中第i个元素e*/
status ListDelete( StaticLinkList L ,  int i )
{
	int j , k;
	if( i<1||i>ListLength(L))
		return ERROR;
	k = MAX_SIZE - 1;
	for( j=1; j<i-1 ;j++)
		k = L[k].cur;
	j = L[k].cur;
	L[k].cur =L[j].cur;
	Free_SSL(L,j);     //
	return OK;
}


静态链表修改时,只需要修改游标(cur),并未解决连续修改带来的表长不确定,,失去顺序存储结构随即存储的特性。是为了给没有指针的高级语言设计的一种巧妙的实现单链表能力的方法。

 

2、循环链表

循环链表和单链表的主要差异在与判断条件,原来判断条件是p->next是否为空,现在的判断条件p->next不等于头结点,则循环未结束。

 

p = rearA->next;
rearA->next = rearB->next->next
reaB->next= p;
free(p);


3、双向列表

双向链表中,每个节点都有两个指针域,一个指向直接后继,一个指向直接前驱。

既:在双向列表p中

p->next->prior = p->prior->next


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值