C++中如何对单向链表操作
发布日期:2021-05-11 04:25:05 浏览次数:7 分类:博客文章

本文共 1706 字,大约阅读时间需要 5 分钟。

*/ * Copyright (c) 2016��������������������������������������������� * All rights reserved. * ������������text.cpp * ��������������� * ������������������Worldhello * ���������������2016���6���25��� * ������������V1.0 * ��������������������������������������������������������� * ������������������ * ������������������������������ */#include "stdio.h"#include "stdlib.h"#include "string.h"struct  STUDENT{		char name[32];		struct  STUDENT *next;};void addStudent(STUDENT *stu);void delStudent(char *name);void saveStuToFile();STUDENT *gStu=NULL;int main(){   int i;   for(i=0;i<100;i++)   {		STUDENT *stu;		stu = (STUDENT *)malloc(sizeof(STUDENT));		memset(stu->name,0,sizeof(stu->name));		sprintf(stu->name,"%s%d","zhangsan",i+1);		addStudent(stu);   }   saveStuToFile();   STUDENT *p;   p = gStu;   while(p)   {	  printf("%s\n",p->name);	  p= p->next;   }   for(i=20;i<30;i++)   {	   char name[32];	   sprintf(name,"%s%d","zhangsan",i+1);	    delStudent(name);   }   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;		}	}}void delStudent(char *name){	STUDENT *p,*pre;	if (gStu==NULL)	{		return;	}	p =pre=gStu;	while(p)	{		if (!strcmp(p->name,name))		{			if(p==gStu)			{					gStu = gStu->next;					free(p);					p=NULL;			}			else			{				pre->next =p->next;				free(p);				p=NULL;			}		}		else		{			pre =p;			p= p->next;		}	}}void saveStuToFile(){	FILE *fp;	int filelen;	fp = fopen("yyy.txt","w");	STUDENT *p;	p = gStu;	while(p)	{		fwrite(p->name,32,1,fp);		p= p->next;	}	fclose(fp);}
上一篇:C++银行储蓄程序代码
下一篇:C语言职工信息管理系统

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月07日 18时08分23秒