#include<stdio.h>
#include<stdlib.h>
#include<string>
typedef int datatype;
typedef struct Node
{
DataType data;
Node*next;
}LinkList;
void print(Linklist*list)
{
printf("链表打印结果如下:\n");
if(list->next=NULL){
printf("链表为空");
return;
}
LInkList*p=list->next;
int i=1;
while(p!=NULL)
{
printf("第%d个元素,值为%d\n",i++,p->data);
p=p->next;
}
printf("\n\n");
}
int getListLength(LinkList*list)
{
int n=0;
Linklist*p=list;
while(p->next!=NULL)
{
n++;
p=p->next;
}
printf("链表长度为:%d\n\n",n);
return n;
}
LinkList*createNode(){
LinkList*node=(LinkList*)malloc(sizeof(LinkList));
node->next=NULL;
return node;
}
LinkList*init1()
{
return createNode();
}
LinkList*init2(int len){
LinkList*list=init1();
int index=0;
LinkList*p=list;
while(index<len){
Node*node=createNode();
printf("请输入第%d个数:\n",index+1);
scanf("%d",&node->data);
index++;
p->next=node;
p=p->next;
}
return list;
}
void insert1(LinkList*list)
LinkList*p=list;
while(p->next!=NULL)
p=p->next;
Node*node=-createNode();
printf("请输入要插入的数:\n");
scanf("%d",&node->data);
p->next=node;
print("插入成功");
}
void insert2(LinkList *list)
printf("请输入要插入的位置\n");
int pos;
scanf("%d,&pos");
if(pos<1||pos>getListLength(list))
{
printf("超出范围");
return;
}
LinkList*p=list;
int index=0;
while(p->next!=NULL&&index<pos-1){
p=p->next;
index++;
}
Node*node=createNode();
printf("请输入要插入的数:\n");
scanf("%d,&node->data");
node->next=p->next;
p->next=node;
printf("插入成功");
}
void insert3(LinkList*list)
{
Node* node=createNode();
printf("请输入要插入的数:\n");
scanf("%d",&node->data);
node->next=list->next;
list->next=node;
printf("插入成功");
}
void delete1(LinkList*list)
{
LinkList*p=list;
while(p->next->next!=NULL)
p=p->nxet;
printf("已删除最后一个节点,被删除节点的值为%d\n",p->next->data);
free(p->next);
p->next=NULL;
}
void delete2(LinkList*list)
{
int pos ;
printf("请输入要删除第几个数:\n");
scanf("%d,&pos");
if(pos<1||pos>getLengLength(list))
{
printf("超出范围");
return;
}
LinkList*p=list;
int index=0;
while(p->next!=NULL&&index<pos-1)
{
p=p->next;
index++;
}
printf("成功删除第%d位数%d\n\n",pos,p->next->data);
Node*node=p->next->next;
free(p->next);
if(node!=NULL)
p->next=node;
}
转载于:https://www.cnblogs.com/xiaowei02/p/10823725.html