C++中如何对单向链表操作
- */
- * 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++中如何对单向链表操作的更多相关文章
- Alan Cox:单向链表中prev指针的妙用
之前发过一篇二级指针操作单向链表的例子,显示了C语言指针的灵活性,这次再探讨一个指针操作链表的例子,而且是一种完全不同的用法. 这个例子是linux-1.2.13网络协议栈里的,关于链表遍历& ...
- C#学习单向链表和接口 IList<T>
C#学习单向链表和接口 IList<T> 作者:乌龙哈里 时间:2015-11-04 平台:Window7 64bit,Visual Studio Community 2015 参考: M ...
- c++(循环单向链表)
前面的博客中,我们曾经有一篇专门讲到单向链表的内容.那么今天讨论的链表和上次讨论的链表有什么不同呢?重点就在这个"循环"上面.有了循环,意味着我们可以从任何一个链表节点开始工作,可 ...
- 输入一个单向链表,输出该链表中倒数第K个结点
输入一个单向链表,输出该链表中倒数第K个结点,具体实现如下: #include <iostream> using namespace std; struct LinkNode { publ ...
- C/C++中对链表操作的理解&&实例分析
链表概述 链表是一种常见的重要的数据结构.它是动态地进行存储分配的一种结构.它可以根据需要开辟内存单元.链表有一个“头指针”变量,以head表示,它存放一个地址.该地址指向一个元素.链表中每一个元素称 ...
- python中的单向链表实现
引子 数据结构指的是是数据的组织的方式.从单个数据到一维结构(线性表),二维结构(树),三维结构(图),都是组织数据的不同方式. 为什么需要链表? 顺序表的构建需要预先知道数据大小来申请连续的存储空间 ...
- java对单向单向链表的操作
概述:众所周知,数据对于数据的存储时连续的,也就是说在计算机的内存中是一个整体的.连续的.不间断的ADT数据结构.伴随的问题也会随之出现,这样其实对于内存的动态分配是不灵活的.而链表具备这个优点.因此 ...
- 【编程题目】输入一个单向链表,输出该链表中倒数第 k 个结点
第 13 题(链表):题目:输入一个单向链表,输出该链表中倒数第 k 个结点.链表的倒数第 0 个结点为链表的尾指针.链表结点定义如下: struct ListNode {int m_nKey;Lis ...
- 输出单向链表中倒数第k个结点
描述 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针. 链表结点定义如下: struct ListNode { int m_nKey; ListNode* ...
随机推荐
- 17.3.13---socket网络套接字介绍--函数和数据类型
1----Socket类型 套接字格式:socket(family,type[,protocal])使用给定的地址族,套接字类型,协议编号(默认为0)来创建套接字 socket类型 描述 socket ...
- TPO5-3 The Cambrian Explosion
At one time, the animals present in these fossil beds were assigned to various modern animal groups, ...
- Python基础——类new方法与单例模式
介绍: new方法是类中魔术方法之一,他的作用是给类实例化开辟一个内存地址,并返回一个实例化,再由__init__对这个实例进行初始化,故它的执行肯定就是在初始化方法__init__之前了.new方法 ...
- [徐州网络赛]Longest subsequence
[徐州网络赛]Longest subsequence 可以分成两个部分,前面相同,然后下一个字符比对应位置上的大. 枚举这个位置 用序列自动机进行s字符串的下标转移 注意最后一个字符 #include ...
- CentOS7离线安装MySQL8.0
CentOS7离线安装MySQL8.0 卸载软件 rpm -e --nodeps 要卸载的软件包 root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-o ...
- JDBC常用驱动和语法汇总
A. Firebird url=jdbc:firebirdsql:[HOST_NAME]/[PORT:][FULL_PATH_TO_DATABASE_FILE] driver=org.firebird ...
- 十九、linux--RAID详解
一.什么是RADI Raid是廉价冗余磁盘阵列,简称磁盘阵列. 运维人员就叫RAID.Raid是一种把多块独立的磁盘(物理磁盘)按不同方式组合起来形成一个磁盘组,在逻辑上看起来就是一个大的磁盘,从而提 ...
- 吴裕雄--天生自然 JAVA开发学习:文档注释
/*** 这个类绘制一个条形图 * @author runoob * @version 1.2 */ import java.io.*; /** * 这个类演示了文档注释 * @author Ayan ...
- day19-3个双下item方法
#使用双下item方法来实现属性的增删改查: # 查:__getitem__ 增改:__setitem__ 删除: __delitem__ class Goods: def __init__(self ...
- Minimum Sum
题目描述 One day, Snuke was given a permutation of length N, a1,a2,…,aN, from his friend. Find the follo ...