以下是带表头节点的单链表的一些基本操作,包括带表头节点的单链表的创建、查找、插入、删除、反转以及打印。
#include<iostream>
using namespace std;
//抽象数据类型
typedef int datatype;
typedef struct node
{
datatype data;
struct node *next;
}ListNode;
//单链表的创建
ListNode* Create(int i)
{
datatype x;
ListNode *head,*p,*q;
head=new ListNode;
q=head;
cout<<"请输入5个数:"<<endl;
while(i--)
{
p=new ListNode;
cin>>x;
p->data=x;
p->next=NULL;
if(q!=NULL)
q->next=p;
q=p;
}
return head;
}
//查找链表第i个结点地址
ListNode* Locate(ListNode *head,int i)
{