1、创建
#include<iostream>
using namespace std;
struct node
{
int data;
node* next;
};
node* create(int array[],int n)
{
node* head=new node;
head->next=NULL; //别忘记置空!!
node* pre=head;
node* p;
for(int i=0;i<n;i++)
{
p=new node;
p->data=array[i];
p->next=NULL;
pre->next=p;
pre=p;
}
return head;
}
int main()
{
int array[5]={1,2,3,4,5};
node* l=create(array,5);
l=l->next;
while(l!=NULL)
{
cout<<l->data<<" ";
l=l->next;
}
return 0;
}
2、插入
void insert(node* head,int pos,int x)
{
node* p=head;
for(int i=0;i<pos-1;i++)
{
p=p->next;
}
node* q=new node;
q->data=x;
q->next=p->next;
p->next=q;
}
3、查找
int search(node* head,int x)
{
int count=0;
node* p=head->next;
while(p!=NULL)
{
if(p->data==x) count++;
p=p->next;
}
return count;
}
4、删除
void del(node* head,int x)
{
node* pre=head;
node* p=head->next;
while(p!=NULL)
{
if(p->data==x)
{
pre->next=p->next;
delete(p);
p=pre->next; //注意p的指向的变动!!
}
else //非此即彼的关系
{
pre=p;
p=p->next;
}
}
}
来源:CSDN
作者:康斯但丁丶
链接:https://blog.csdn.net/OpenStack_/article/details/103995922