MOOC清华《程序设计基础》第8章:链表的基本概念

"Talk is cheap, show me the code."

#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

struct Time_t      //定义结构体 
{
	int year, month, day;
	int hour, minute, second;
};

struct Node      //定义链表结点(其实链表就是一种特殊的结构体) 
{
	Time_t tm;
	char id[20];
	char op[10];     //以上三行为数据域 
	Node* next;     //这一行为指针域 
};

int main()
{
	ifstream fin("log.txt");
	Node* head = NULL;
	while(!fin.eof())
	{
		char tmp;
		Node* data = new Node;   //开辟出一块动态内存的链表结点大小的区域,用一个指针指向它
		
		//读入一行数据,注意访问结构体指针的成员不能用点号.,要用箭头->,中间不能有空格 
		fin >> data->tm.year >> tmp >> data->tm.month >> tmp >> data->tm.day;
		fin >> data->tm.hour >> tmp >> data->tm.minute >> tmp >> data->tm.second;
		fin >> data->id;
		fin >> data->op;
		
		//添加至链表
		data->next = head;
		head = data; 
	}
	fin.close();
	
	//以下根据不同任务编写代码实现,使用链表中存储的数据
	//cout << *head << endl;  //测试代码:不能写成这样 *head,这样读不出来,而且报错 
	
	return 0; 
}


posted on 2017-10-05 18:17  sunshineman1986  阅读(104)  评论(0)    收藏  举报

导航