1、创建,数据来自文件
2、显示
3、查找(显示比较次数)
4、插入
5、删除(显示比较次数)
6、将链接存储线性表逆置,即最后一个结点变成第1个结点,原来倒数第2个结点变成第2个结点,如此等等。
[解题思路] 从头到尾扫描单链表L,将第1个结点的next域置为NULL,将第2个结点的next域指向第1个结点,将第3个结点的next域指向第2个结点,如此等等,直到最后一个结点,便用head指向它。
提高题:
7*、将一个首结点指针为a的单链表A分解成两个单链表A和B,其首结点指针分别为a和b,使得链表A中含有原链表A中序号为奇数的元素,而链表B中含有原链表A中序号为偶数的元素,且保持原来的相对顺序。
[解题] 将单链表A中序号为偶数的元素删除,并在删除时把这些结点链接起来构成单链表B即可。
/************ COPYRIGHT(C) 2017 DongfangHU *****/
/*****实验名称:链表的基本操作
/**** 实验平台:Dec-c++
/*****作者:DongfangHU
/*****
/*****时间:2017-07-11
/************************************************/
#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<windows.h>
using namespace std;
typedef struct LIST
{
int num;
LIST*next;
}List;
/*****************/
List*Creat(List*head);
void Visit(List*head);
void Search(List*head,int num);
List*Insert(List*head,int num,int position);
List*Delete(List*head,int num);
List*Nizhi(List*head);
List*Split(List*head);
void color(short x);
/******************/
//int n=0;
int G=1;
int main()
{
List*head=NULL;
head= new List;
head->num=-1;
head->next=NULL;
while(1)
{
cout<<endl<<endl<<endl;
color(8);
cout<<" *********************************************************************"<<endl;
color(14);
cout<<" 1.载入数据&#