我们大二的数据结构 是用C++描述的,所以,我得用C++ 来实现一波单链表的创建,为了这个链表存储数据的灵活性,我利用了 模板来做,具体的实现代码如下:
#include<iostream>
#include<cstring>
#include<math.h>
#include<stdlib.h>
#define len sizeof(struct Node)
using namespace std;
template <class T>
struct Node
{
T data;
Node<T> * next ;
};
template <class T >
class linklist
{
public :
Node<T> * head ;
linklist();//空参数的构造函数
linklist( int n );//n个结点的构造函数
int listlength(Node<T> *head );//求出单链表的长度
T get(int pos);//输出位置pos下的值(data
int locate(T item);//寻找item 输出其所在的位置
void printlinklist();//输出整个单链表
void insert(int i ,T item);//插入
T Delete(int i );//删除
~linklist();//析构
};
template <class T>
T linklist<T>::Delete(int i )
{
while(i<=0||i>this->listlength(this->head))
{
cout<<"输入非法请重新输入"<<endl;
cin>>i;
}
Node<T> * p