#include <iostream>
#include <iomanip>
#include <string>using namespace std;struct friendT
{ string name;
string phone;
string post;
int year;
int month;
int day;
};struct lkT
{ friendT data;
lkT *next;
};void main()
{
friendT friends;
lkT *head, *p, *rear;head = new lkT; rear = new lkT;p = new lkT;
friends.name = "LiYi"; friends.phone = "12387400"; friends.post = "200240";
friends.year = 1990; friends.month = 1; friends.day = 1;
p->data = friends;
rear->next = p; rear = p;p = new lkT;
friends.name = "Lier"; friends.phone = "54741414"; friends.post = "200240"; 
friends.year = 1989; friends.month = 12; friends.day = 9;
rear->next = p; rear = p;p = new lkT;
friends.name = "ZhangLiang"; friends.phone = "46328821"; friends.post = "200240"; 
friends.year = 1990; friends.month = 7; friends.day = 7;
rear->next = p; rear = p;p = new lkT;
friends.name = "ZhangJiao"; friends.phone = "23001031"; friends.post = "100000"; 
friends.year = 1989; friends.month = 11; friends.day = 11;
rear->next = p; rear = p;p = new lkT;
friends.name = "ZhangZhiDong"; friends.phone = "12345643"; friends.post = "200000"; 
friends.year = 1989; friends.month = 4; friends.day = 1;
rear->next = p; rear = p;p = new lkT;
friends.name = "LinKen"; friends.phone = "12812818"; friends.post = "300000"; 
friends.year = 1989; friends.month = 4; friends.day = 5;
rear->next = p; rear = p;p = new lkT;
friends.name = "ZuoYou"; friends.phone = "52013140"; friends.post = "100000"; 
friends.year = 1989; friends.month = 10; friends.day = 1;
rear->next = p; rear = p;p = new lkT; 
friends.name = "LongKui"; friends.phone = "10254102"; friends.post = "200240"; 
friends.year = 1990; friends.month = 7; friends.day = 29;
rear->next = p; rear = p;p = new lkT;
friends.name = "JiangMing"; friends.phone = "44052422"; friends.post = "200000"; 
friends.year = 1989; friends.month = 4; friends.day = 4;
rear->next = p; rear = p;p = new lkT;
friends.name = "JingTian"; friends.phone = "54515171"; friends.post = "200000"; 
friends.year = 1990; friends.month = 4; friends.day = 1;
rear->next = p; rear = p;p = new lkT;
friends.name = "GongAn"; friends.phone = "77714756"; friends.post = "100000"; 
friends.year = 1990; friends.month = 5; friends.day = 9;
rear->next = p; rear = p;p = new lkT;
friends.name = "GangYi"; friends.phone = "54745815"; friends.post = "300000"; 
friends.year = 1989; friends.month = 8; friends.day = 8;
rear->next = p; rear = p;p = new lkT;
friends.name = "HongKui"; friends.phone = "44471741"; friends.post = "200240"; 
friends.year = 1990; friends.month = 7; friends.day = 29;
rear->next = p; rear = p;p = new lkT;
friends.name = "GuangGang"; friends.phone = "55478155"; friends.post = "400000"; 
friends.year = 1989; friends.month = 4; friends.day = 1;
rear->next = p; rear = p;p = new lkT;
friends.name = "LingEr"; friends.phone = "25412623"; friends.post = "200240"; 
friends.year = 1989; friends.month = 9; friends.day = 8;
rear->next = NULL;p = head->next;while (p->next != NULL)
{ cout<< p->data.phone<< endl;
p = p->next;
}
}

解决方案 »

  1.   

    你做的链表,但是第一个最好处理好 他的头和尾是同一个对象,在后期操作的时候只是插入就行了
    lkT *head, *p, *rear; head = new lkT; rear = new lkT; p = new lkT; 
    这三行代码感觉不太清楚,导致后期删除内存也存在问题
      

  2.   

    主要错误有下:
    1思路不清
    2new没有delete造成memory leak楼主是想实现一个链表吧lkT head,*pRear;//定义头和尾
    friendT p = new friendT ;
    ......//对p赋值pRear = p;
    head.next = pRear;//.....p = new friendT ;p = new friendT ;//....增加链表元素