// 殷人昆带头结点的单链表.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//#include <iostream>// 带头结点单链表.cpp : Defines the entry point for the console application.
//
using namespace std;#include<stdlib.h>
typedef struct node {int data;struct node* link;
}LinkLnode, * LinkList;
void initlist(LinkList& first)
{first = new LinkLnode;first->link = NULL;
}
void clearlist(LinkList& first)//清空单链表,只保留头结点
{LinkList q;while (first->link != NULL){q = first->link;first->link = q->link;//从链上摘取该节点,first->link存放后面节点的地址free(q);}
}
int length(LinkList first)
{LinkList p= first->link; int k = 0;while (p){k++;p = p->link;}return k;
}
LinkList locate(LinkList& first, int i)
{//在单链表i《=0个节点定位,返回单链表第i个节点的地址,找头结点时i=0,i<0不合理if (i < 0)return NULL;LinkList p = first; int k = 0;while (p && k < i){p =