源码:
fhnClassList.h
#ifndef _FHN_CLASS_LIST_
#define _FHN_CLASS_LIST_
#pragma once
struct Data
{
int a;
int b;
};
struct Node
{
Data d;
struct Node* next;
};
class fhnClassList
{
public:
fhnClassList(void);
void initList();
void insertList(Data data);
Node * searchList(Data data);
void travleList();
void destoryList();
~fhnClassList(void);
private:
Node * head;
};
#endif
fhnClassList.cpp
#include "fhnClassList.h"
#include <iostream>
using namespace std;
fhnClassList::fhnClassList(void)
{
}
fhnClassList::~fhnClassList(void)
{
}
void fhnClassList::initList()
{
head = new Node;
head->next = nullptr;
}
void fhnClassList::insertList(Data data)
{
Node *cur = new Node;
cur->d = data;
cur->next = head->next;
head->next = cur;
}
Node * fhnClassList::searchList(Data data)
{
Node *t = head->next;
while(t)
{
if(t->d.a == data.a && t->d.b == data.b)
{
return t;
break;
}
}
return nullptr;
}
void fhnClassList::travleList()
{
Node * subHead = head->next;
while(subHead)
{
cout<<subHead->d.a<<endl;
cout<<subHead->d.b<<endl;
subHead = subHead->next;
}
}
void fhnClassList::destoryList()
{
Node *t = head;
head = head->next;
delete t;
}
main.cpp
#include <iostream>
#include <string>
#include "fhnClassList.h"
using namespace std;
int main()
{
fhnClassList ls;
ls.initList();
for(int i=0;i<10;i++)
{
Data tmp;
tmp.a=i;
tmp.b=i;
ls.insertList(tmp);
}
ls.travleList();
ls.travleList();
ls.destoryList();
return 0;
}