C语言链表的基本操作

*/
 * Copyright (c) 2016,烟台大学计算机与控制工程学院
 * All rights reserved.
 * 文件名:text.cpp
 * 作者:常轩
 * 微信公众号:Worldhello
 * 完成日期:2016年4月230日
 * 版本号:V1.0
 * 问题描述:链表的基本操作
 * 程序输入:无
 * 程序输出:见运行结果
 */
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
struct STUDENT{

	char name[32];
	struct STUDENT  *next;
};
void addStudent(STUDENT *stu);
STUDENT *gStu=NULL;
void main()
{
	int i;
	for(i=0;i<100;i++)
	{
		 STUDENT *stu;
		 stu=(STUDENT *)malloc(sizeof(STUDENT));
		 sprintf(stu->name,"%s%d","student ",i+1);
		 addStudent(stu);
	}
	STUDENT *p;
	p=gStu;
	while(p)
	{
		printf("%s\n",p->name);
		p=p->next;
	}
}
void addStudent(STUDENT *stu)
{
	STUDENT *p;
	if(gStu==NULL)
	{
		gStu=stu;
		stu->next=NULL;
	}
	else
	{
		p=gStu;
		while(p)
		{
			if(p->next==NULL)
			{
				p->next=stu;
				stu->next=NULL;
			}
			p=p->next;
		}
	}
}

运行结果:


心得:

       当理解后,感觉老师说的一个比喻非常恰当“链表”就是一条自行车的车链子

posted @ 2016-04-30 15:45  壹言  阅读(156)  评论(0编辑  收藏  举报