单链表建立,插入,删除,查找,遍历操作
// Link.cpp : 定义控制台应用程序的入口点。
//单链表
#include "stdafx.h"
#include <iostream>
#include <complex>
using namespace std;
typedef struct node {
int data;//节点内容
node *next;//下一个节点
}node;
//创建单链表
node *create(){
node *head,*p,*q;
int i=0; //单链表中数据的个数
int a=-1;
head=new node;//创建头节点
head->next=NULL;
while (1)
{
cout<<"please input the data(input -1,quit):";
cin>>a;
if (-1==a) //如果输入的是-1,退出
{
break;
}
p=new node;
p->data=a;
p->next=NULL;//链表的最后一个指针为NULL
if (++i==1) //链表只有一个元素
{ //连接到head的后面
head->next=p;
}
else{
q->next=p;//连接到链表尾端
}
q=p;//q指向末节点
}
return head;
}
//单链表的测长
int length(node *head){
int len=0;
node *p=head->next;
while (p!=NULL){//遍历链表
+&