📄 sclinlist.h
字号:
typedef struct node
{
DataType data;
struct node *next;
} SCLNode;
void SCLLInitiate(SCLNode ** head)
{
if ((*head=(SCLNode *)malloc(sizeof(SCLNode)))==NULL) exit(1);
(*head)->next=*head;
}
int SCLLInsert(SCLNode *head,int i,DataType x)
{
SCLNode *p,*q;
int j;
p=head->next;
j=1;
while(p!=head&&j<i-1)
{
p=p->next;
j++;
}
if (j!=i-1&&i!=1)
{
printf("插入参数位置错误!");
return 0;
}
if((q=(SCLNode*)malloc(sizeof(SCLNode)))==NULL) exit(1);
q->data=x;
q->next=p->next;
p->next=q;
return 1;
}
int SCLLDelete(SCLNode *head,int i,DataType *x)
{
SCLNode *p,*q;
int j;
p=head;
j=0;
while (p->next!=head&&j<i-1)
{
p=p->next;
j++;
}
if (j!=i-1)
{
printf("删除位置参数错误!");
return 0;
}
q=p->next;
p->next=p->next->next;
*x=q->data;
free(q);
return 1;
}
int SCLLGet(SCLNode *head,int i,DataType *x)
{
SCLNode *p;
int j;
p=head;
j=0;
while(p->next!=head&&j<i)
{
p=p->next;
j++;
}
if(j!=i)
{
printf("取元素位置错误!");
return 0;
}
*x=p->data;
return 1;
}
int SCLLNotEmpty(SCLNode *head)
{
if(head->next==head) return 0;
else return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -