📄 clist.h
字号:
/*******************************************************************
Copyleft!
FileName: CList.h
Author: cjhacker
Version: 1.0
Description: Circuital List ADT definition
Function List:
Status CList_Inital( CList &L, int listsize )
LPElemtype CList_GetElem( LPElemtype curpos, int length )
int CList_GetNumber( LPElemtype elem )
int CList_GetPassword( LPElemtype elem )
LPElemtype CList_GetPrevious( CList &L, LPElemtype elem )
Status CList_DeElem( CList &L, LPElemtype elem )
********************************************************************/
#include "Elemtype.h"
#include <stdio.h>
#include <malloc.h>
typedef struct
{
Elemtype *elem;
int listsize;
}CList;
Status CList_Inital( CList &L, int listsize )
{
int i;
LPElemtype p, q;
for ( i = 1; i <= listsize; i++ )
{
p = ( LPElemtype )malloc( sizeof( Elemtype ) );
if ( i == 1 )
{
L.elem = q = p;
}
printf( "Please input %dth password:", i );
scanf( "%d", &( p->password ) );
p->number = i;
q->next = p;
q = p;
}
L.listsize = listsize;
p->next = L.elem;
return OK;
}
LPElemtype CList_GetElem( LPElemtype curpos, int length )
{
int i;
for ( i = 1; i <= length; i++ )
{
curpos = curpos->next;
}
return curpos;
}
int CList_GetNumber( LPElemtype elem )
{
return elem->number;
}
int CList_GetPassword( LPElemtype elem )
{
return elem->password;
}
LPElemtype CList_GetPrevious( CList &L, LPElemtype elem )
{
LPElemtype p = L.elem;
while ( p->next != elem )
{
p = p->next;
}
return p;
}
Status CList_DeElem( CList &L, LPElemtype elem )
{
CList_GetPrevious( L, elem )->next = elem->next;
free( elem );
L.listsize--;
return OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -