昨日のゆうべ、高校時代の友人から電話もらえった。長い電話だ。俺が昔の彼女がどうして時々に電話やメールや送るんだ?彼女が彼がいるのにって言った。俺の昔の彼女がいま米国にいた、博士の学位を追いかけている。正直に言えば、俺が今も彼女のことが好きだ。昔彼女が俺にそんなに優しかった、でも、俺がオンランゲームを遊びばかり、自分を中心で他人の気分変化が全然気づかなかった。こうやったら、誰も我慢できないわ、彼女の離れりがあたりまえだ。今の俺は自信心が非常に不足だ。いつもこの件に困るんだ。俺の友人がなぜ自信心が不足だ?ちゃんと男になればいいぜ!って答えた。

本当に助かったね、ありがとう。

3年後、彼女が帰国の時、ぜひ立派な男になるよ!この言葉、心に刻んだ。

 神様よ!何で最近俺に悪戯をしたばかり?何か教えてほしいの?

  周りの皆さん大切にして、ネートの向こう方は遊び半分にするといいこと?

  そう、分かった。

  PS:今度はN1をとれなきゃ!

#include <cstdlib>
#include <iostream>
using namespace std;

template <typename T>
class List
{
public:
List();
~List();
void push_back(const T&);
void print();
void reverse();
void check(const T);
void del(const T);
private:
typedef struct Node
{
T data;
Node* next;
Node(const T& d):data(d),next(NULL){}
}Node;
Node* head;
};

template <typename T>
void List<T>::del(const T t)
{
typedef Node* PNode;
PNode pre,cur;
pre = head;
cur = pre->next;
while(cur->data != t)
{
pre = cur;
cur = cur->next;
}
pre->next = cur->next;
delete cur;

}

template <typename T>
List<T>::List():head(NULL){}

template <typename T>
List<T>::~List()
{
if(head)
{
Node* t = head->next;
while(t)
{
Node* tt = t;
t = t->next;
delete tt;
}
delete head;
head = NULL;
}
}

template <typename T>
void List<T>::push_back(const T& t)
{
if(!head)
head = new Node(t);
else
{
Node* tmp = head;
while(tmp->next)
{
tmp = tmp->next;
}
tmp->next = new Node(t);
}

}

template <typename T>
void List<T>::print()
{
if(head)
{
Node* t = head;
while(t)
{
cout << t->data << " ";
t = t->next;
}
cout << endl;
}
}

template <typename T>
void List<T>::reverse()
{
if(head && head->next)
{
typedef Node* PNode;
PNode pre = head, cur = head->next, nex = cur->next;
pre->next = NULL;
while(nex)
{
cur->next = pre;
pre = cur;
cur = nex;
nex = nex->next;
}
cur->next = pre;
head = cur;
}
}

template <typename T>
void List<T>::check(const T t)
{
Node* tmp = head;
int times = 0;
while(/*tmp->data != t && */tmp->next != NULL)
{
if(tmp->data == t){
cout << "found " << t << " in the list!" << endl;
times++;
break;
}
tmp = tmp->next;
}
if(times == 0)
cout << t << " not found in the list!" << endl;
}

int main(int argc, char *argv[])
{
List<int> list1;
for(int i = 0; i < 50; ++i)
list1.push_back(i);
list1.print();
int a = 25;
list1.check(a);
list1.del(a);
list1.print();
list1.check(a);
system("PAUSE");
return EXIT_SUCCESS;
}