📄 sy1.c
字号:
#define NULL 0;
#include <iostream.h>
#include <stdlib.h>
struct lnode {
int data;
struct lnode *next;
}; typedef struct lnode LNode;
LNode * LinkList_Create(int n)
{ LNode *head, *p, *tail;
int i;
head=tail=(LNode *) malloc(sizeof(LNode));
for(i=1;i<=n;i++)
{ p=(LNode *)malloc(sizeof(LNode));
p->data=i;
tail->next=p; tail=p;
}
tail->next=NULL;
return(head);
}
int LinkList_Insert(LNode *head,int x,int i)
{
LNode*q,*p;
int j;
if(i<=0)
return(0);
for(p=head,j=0;
(p!=NULL)&&(j<i-1);j++)
p=p->next;
if(p==NULL)
return(0);
q=(LNode*)malloc(sizeof(LNode));
q->data=x;
q->next=p->next;
p->next=q;
return(1);
}
int LinkList_Delete(LNode *head,int i)
{
LNode *p,*q;
int j;
if(i<=0) return(0);
for(p=head,j=0; (p!=NULL) && (j<i-1); j++ )
p=p->next;
if(p==NULL) return(0);
q=p->next;
p->next=q->next;
free(q);
return(1);
}
int main(void)
{
int i;
head *l = (head *)malloc(sizeof(head));
Lnode *head;
LinkList_Create(int l)
for(i = 0; i < 10; ++i)
LinkList_Insert(l, 1, i);
printf("length = %d\n", tail->length);
for(head = l->next; head != NULL; head = head->next)
printf("%3d", head->data);
for(i = 0; i < 5; ++i)
LinkList_Insert(l, 2, -i);
printf("\nlength = %d\n", h->length);
for(head= l->next; head != NULL; head = head->next)
printf("%3d", head->data);
for(i = 10; i >=0; --i)
LinkList_Delete(h, i);
printf("\nlength = %d\n", h->length);
for(head = l->next;head != NULL;head = head->next)
printf("%3d", head->data);
free(l);
getchar();
return 0
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -