首页 > 编程语言 > 详细

个人笔记数据结构与算法———单链表02

时间:2020-05-13 15:49:56      阅读:41      评论:0      收藏:0      [点我收藏+]

 

//单链表

#define ok 1

#define maxsize 100

#include<stdlib.h >

#define ERROR -1

typedef int Elemtype;

typedef int Status;

 

//1定义

typedef struct Lnode{

       Elemtype data;

       struct Lnode *next;

}Lnode ,*LinkList;

 

//2初始化

Status initLinkList(LinkList L){

       L=(LinkList)malloc(sizeof(Lnode));

       L->next=NULL;

       return ok;

}

 

//3判断链表是否为空

int ListEmpty(LinkList L){

       if(L->next)

              return 0;

       else{

              return 1;

       }

}

 

//4销毁

Status DeleList(LinkList&L){

       LinkList p;

       while(L!=NULL){

              p=L;

              L=L->next;  

              free(p);

       }

}

 

//5清空

Status clearList(LinkList&L){

       LinkList p,q;

       p=L->next;

       while(p!=NULL){

              q=p->next;

              free(p);

              p=q;

       }

       L->next=NULL;

       return ok;

}

 

//6求链表表长

int lengthLink(LinkList L){

       LinkList p;

       p=L->next;

       int i=0;

       while(p!=NULL){

              i++;

              p=p->next;

       }

       return i; 

}

 

//7取单链表中第i个元素

Status GetLink(LinkList L,int i,Elemtype &e){//i是获取元素的位置,通过e返回

       LinkList p;

       p=L->next;

       int j=1;

       while((p!=NULL) && (j<i)){

              p=p->next;

              ++j;

       }

       if(!p||j>i){

              return ERROR;

       }else{

              e=p->data;

              return ok;

       }

}

个人笔记数据结构与算法———单链表02

原文:https://www.cnblogs.com/1388h26/p/12881955.html

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