资源简介

数据结构严蔚敏版,是课本里出的题目的答案。内含所有代码,EXE文件等。功能可实现

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include“CONSTANT.h“
#include“typedef.h“
#include“Typenode.h“
bool InitList(OrderedList &L)
{if(MakeNode(L.head‘ ‘))//头结点的虚设元素为空格符‘ ‘
{
L.tail = L.head; L.size = 0;  return TRUE;//若分配空间失败,则令L.head 为 NULL,并返回FALSE
}
else { L.head = NULL; return FALSE;}//构造一个带头结点的空的有序链表L,并返回TRUE;
} //InitList

void DestroyList(OrderedList &L)//销毁有序链表L
{linkType pq;
p=L.head;
while(p) {q=p; p=SuccNode(p); FreeNode(q);}
L.head = L.tail = NULL;
}//DestroyList

bool ListEmpty(OrderedList L)
{if(!L.head||L.size==0) return TRUE;
 else return FALSE;
}
//若L不存在或为“空表“,则返回TRUE,否则返回FALSE
int ListLength(OrderedList L)
{L.size=0;
 linkType p;
 p=L.head;
 if(p!=L.tail)
 {++L.size;
  p=p->next;
 }
 return L.size;
}
//返回链表的长度

linkType GetElemPos(OrderedList L  int pos)
{linkType p;
 int k;
  if(!L.head||pos<1||pos>L.size) return NULL;
  else if(pos==L.size) return L.tail;
else{
 p=L.head->next; k=1;
 while(p&&k return p;                       //若L存在且0
  }
}//GetElemPos

Status LocateElem(OrderedList L ElemType e linkType&p)
{linkType pre;
 if(L.head) {
  pre=L.head; p=pre->next;    //pre 指向*p的前驱,p指向第一个元素结点
  while(p&&p->data  if(p&&p->data==e) return TRUE;
  else{p=pre; return FALSE;}
}
else return FALSE;
}//LocateElem

void Append(OrderedList &L linkType s)
{
if(L.head&&s) {
if(L.tail!=L.head) {L.tail->next=s;//在已存在的有序链表L的末尾插入指针s所指结点
L.tail=L.tail->next;}
  else L.head->next=s;
  L.tail=s; L.size++;
}
}//Append

void InsertAfter(OrderedList&L linkType q linkType s)
{
  if(L.head&&q&&s) {
  s->next=q->next; q->next=s;//在已存在的有序链表L中q所指示的结点之后插入指针s所指结点
  if(L.tail==q) L.tail=s;
   L.size++;
}
}//InsertAfter

int ListTraverse(linkType p Status(*visit)(linkType p))//用一个函数作为该函数的参数,visit函数其实是一个形参!!!
{
  while(p) {visit(p); p=SuccNode(p);}
  return OK;//从p(p!=NULL)指示的结点开始,依次对每个结点调用函数visit
}//ListTraverse

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

     文件        106  2009-05-01 09:50  集合的并、交和差运算\CONSTANT.h

     文件       7435  2009-05-01 10:03  集合的并、交和差运算\Debug\OrList.obj

     文件      10142  2009-05-01 10:06  集合的并、交和差运算\Debug\OrSet.obj

     文件       4303  2009-05-01 09:59  集合的并、交和差运算\Debug\Typenode.obj

     文件      53248  2009-05-01 10:08  集合的并、交和差运算\Debug\vc60.pdb

     文件     200795  2009-05-01 10:08  集合的并、交和差运算\Debug\集合的并、交和差运算.exe

     文件      10683  2009-05-01 10:08  集合的并、交和差运算\Debug\集合的并、交和差运算.obj

     文件     508928  2009-05-01 10:08  集合的并、交和差运算\Debug\集合的并、交和差运算.pdb

     文件       2393  2009-05-01 10:03  集合的并、交和差运算\OrList.cpp

     文件        655  2009-05-01 10:02  集合的并、交和差运算\OrList.h

     文件       2905  2009-05-01 10:04  集合的并、交和差运算\OrSet.cpp

     文件        512  2009-05-01 10:05  集合的并、交和差运算\OrSet.h

     文件        477  2009-05-01 09:53  集合的并、交和差运算\typedef.h

     文件        996  2009-05-01 09:57  集合的并、交和差运算\Typenode.cpp

     文件        180  2009-05-01 09:59  集合的并、交和差运算\Typenode.h

     文件       3533  2009-05-01 10:07  集合的并、交和差运算\集合的并、交和差运算.cpp

     文件       4070  2009-05-01 10:07  集合的并、交和差运算\集合的并、交和差运算.dsp

     文件        548  2009-05-01 10:07  集合的并、交和差运算\集合的并、交和差运算.dsw

     文件      58368  2009-05-14 13:40  集合的并、交和差运算\集合的并、交和差运算.ncb

     文件      53760  2009-05-14 13:40  集合的并、交和差运算\集合的并、交和差运算.opt

     文件       1316  2009-05-01 10:08  集合的并、交和差运算\集合的并、交和差运算.plg

     目录          0  2009-07-17 16:35  集合的并、交和差运算\Debug

     目录          0  2009-07-17 16:35  集合的并、交和差运算

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

               925353                    23


评论

共有 条评论