只要知道指针的作用就课以简单理解:
#include<iostream>
using namespace std;
struct node
{
int date;
node *next;
}
node *p,*r,*head;
int main()
{
int x;
cin >> x;
head = new node;
while(x!=0)
{
p = new node;
p->date = x;
p->next=NULL:
r->next = p;
r = p;
cin >> x;
}
p = head->next;
while(p->next!=NULL)
{
cout<<p->date<<" ";
p=p->next;
}
cout<<p->date<<endl;
return 0;
}
单链表的操作
1,查找满足一定条件的数据,
p = head->next;
while(p->next!=NULL)
{
if();
p=p->next;
}
2,取出链表中的第i个数据;
p = head->next;
while(p->next!=NULL&&j<i)
{
p=p->next;
j++;
}
3,插入一个结点单链表中
void insert(node *head,int i,int x)
{
node *p,*s;
int j;
p = head;
j = 0;
while( p->next != NULL && j < i-1)
{
p = p->next;
j++;
}
if(p == NULL)
puts("no answer!");
else
{
s = new node;
s->date = x;
s->next = p->next;
p->next = s;
}
}
4,删除单链表的元素
s = p->next;
p->next = s->next;
free(s);
5,长度的遍历加1
就行了