单链表很简单,下面主要说一下插入思路:
1.判断插入位置是否合法
2.找到要插入的位置
3.创建新的节点,插入进去
#include<iostream>
using namespace std;
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*Link;
void Init_Link(Link &L)
{
L = new LNode;
L->next = NULL;
}
void Insert_Link(Link &L,int i,int e)
{
if(i < 1)
return;
Link p;
p = L;
int j = 1;
while(p && j < i)
{
j++;
p = p->next;
}
LNode *s;
s = new LNode;
s->data = e;
s->next = p->next;
p->next = s;
}
void Traverse(Link L)
{
Link p;
p = L->next;
while(p)
{
cout << p->data << " ";
p = p->next;
}
}
int main()
{
Link L;
Init_Link(L);
for(int i = 1; i < 5;i++)
{
Insert_Link(L,i,i);
}
Traverse(L);
}
这里只提供初始化、插入、遍历操作,其余操作同上可以实现