单链表
Posted jk17211764
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单链表相关的知识,希望对你有一定的参考价值。
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
struct List
{
int date;
List *next;
};
void creat(List *head) //往头指针后加,倒序
{
List *p;
head->next=NULL;
int a[100];
int i,j,k;
int n;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++)
{
p=(List*)malloc(sizeof(List));
p->date=a[i];
p->next=head->next;
head->next=p;
}
return ;
}
void creat1(List *head) //正序
{
int n,i,j,k;
int a[100];
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
List *p,*q;
q=(List*)malloc(sizeof(List));
head->next=q;
q->next=NULL;
for(i=0;i<n;i++)
{
p=(List*)malloc(sizeof(List));
q->date=a[i];
p->next=NULL;
q->next=p;
q=p;
}
return;
}
void charu(List *head,int n)
{
List *p=head->next;
int i=1;
while(i!=n)
{
p=p->next;
i++;
}
int num;
cin>>num;
List *q;
q=(List*)malloc(sizeof(List));
q->date=num;
q->next=p->next;
p->next=q;
}
void shanchu(List *head,int n)
{
List *p=head->next;
int i=2;
while(i!=n)
{
p=p->next;
i++;
}
p->next=p->next->next;
}
void put(List *head)
{
List *p;
p=head->next;
while(p->next!=NULL)
{
cout<<p->date<<endl;
p=p->next;
}
return ;
}
int main()
{
List head;
creat1(&head);
// int n;cin>>n;
// charu(&head,n);
int u;cin>>u;
shanchu(&head,u);
put(&head);
return 0;
}
以上是关于单链表的主要内容,如果未能解决你的问题,请参考以下文章
数据结构学习笔记(单链表单循环链表带头双向循环链表)的增删查改排序等)