2006-08-22

用C语言描述数据结构

来源: 天极blog 作者:佚名 评论 0 条
 

int ListEmpty(LinkList *L)
{
 return(L->next==NULL)
}

  (4)求线性表的长度

int ListLength(LinkList *L)
{
 LinkList *p=L; /*将L的头结点重新定义为P*/
 int i=0;
 while(p->next!=NULL)
 {
  i ;
  p=p->next; /*逐渐指向后面的指针*/
 }
 return i;
}

  (5)输出线性表

void DispList(LinkList *L)
{
 LinkList *P=L->next;
 while(p!=NULL)
 {
  printf("%c",p->data); /*打印出那个数据元素*/
  p=p->next;
 }
 printf("\n");
}

  (6)求线性表中的梦数据元素的值

int GetList(LinkList *L,int i,ElemType &e)
{
 int j;
 LinkList *P=L;
 while(p!=NULL&&j<I) p *直到找到与给出的数相等的项*>
 {
  j ;
  p=p->next;
 }
 if(p==NULl)
  return 0;
 else
 {
  e=p->date;
  return 1;
 }
}

  (7)按元素值查找(在单链表中从头开始查找第一个值与e相同的结点)

int LocateElem(LinkList *L,ElemType e)
{
 LinkList *p=L->next;
 int n=1;
 while(p!=NULL&&p->data!=e)
 {
  p=p->next;
  n ;
 }
 if(p=NULL)
  return 0;
 else
  return n;
}

  (8)插入数据元素

int InsertElem(LinkList *&L,int i,ElemType e)
{
 LinkList *p=L,*s;
 int j=0;
 while(p!=NULL&&j<I)
 {
  p=p->next;
  j ;
 }
 if(p=NULL)
  return 0;
 else
 {
  s=(LinkList *)malloc(sizeof(LinkList)); /*新建一个结点*/
  s->data=e;
  s->next=p->next; /*将s插入*/
  p->next=s;
  return 1
 }
}

  (9)删除数据元素


(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:数据库的分页问题  
下一篇:实例:用触发器生成数据库表的数据操作日志
    评论加载中…
int DeleteElem(LinkList *&L,int i,ElemType e)
{
 LinkList *p=L,*s;
 int j=0;
 while(p!=NULL&&j<I)
 {
  p=p->next;
  j ;
 }
 if(p=NULL)
  return 0;
 else
 {
  s=p->next;
  if(s==NULL)
  return 0;
  free(s);
  return 1
 }
}
共4页: 上一页 [1] [2] 3 [4] 下一页
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号