C语言用链表管理你的感情史,方便又快捷,赶快试试吧!

这年就算是完了,再过不久假期也快过完了。高考后本以为大学四年的时光会很长。谁晓得再过不久就要开始大二下学期了,假期的时间其实也不短啦。尤其是对我。。。

刚刚开始学习数据结构,感觉线性表的链式存储,似乎很难呐。应该写代码巩固下才好。

来吧,开始管理你的女盆友们吧!!!

结构体方便我们组合不同的数据类型,首先用结构体组合一个女生的属性,组合如下

这要说下,c语言的struct修饰无法像c++那样,将girl变成类型,所以用了typedef给struct girl 起了个别名wife。

在circielist.h的头文件中,包含如下方法。稍后附上源码,功能可自行定制。。。是不是很贴心呐。。。

这个部分,有必要要给大家看下。

这是根据我的口味来的,也请大家看下,眼光是否还行呢。。。

代码也经过简单的测试了,如果还有bug,恳请大家指正。

代码纯属练习链表,娱乐而成。不喜勿怪呐。。。

(似乎还有些功能没有添加啊。。。有兴趣的同志们,可以将它完善完善。。。)

还有一事相求,小弟心中对一些事存有困惑。有望各位前辈告知。事情原委如下:

大一的时候,傻乎乎的,天真的以为天真的以为c/c++学好了,就能成为一名黑客,那个拉风酷炫拽啊。

其实,我不是为了装酷,大一时,被一个可恶人(也不晓得是不是黑客),通过网页支付时,转走了支付宝里的钱(父母的血汗能不恨吗?)。不过我却记下了那个号码。发誓,会让那无耻之徒付出代价的。于是,以彼之道还施彼身的念头冒出来了,这就是我编程的初衷了。

我的恨随着时光早就走远了。那件事也怪我当初贪图小便宜。

扯远了。。。

而今,C/C++已经初步完成学习,数据结构也快步入尾声。接下来我该学什么呢?windows编程还是linux编程?还是去学计算机网络?还是数据库?我不清楚。。。

请有经验的前辈指条明路。。。感激不尽。。。

时间: 2024-10-12 18:47:14

C语言用链表管理你的感情史,方便又快捷,赶快试试吧!的相关文章

C语言动态内存管理

1-概述 动态存储管理的基本问题是:系统如何按请求分配内存,如何回收内存再利用.提出请求的用户可能是系统的一个作业,也可能是程序中的一个变量. 空闲块 未曾分配的地址连续的内存区称为"空闲块". 占用块 已分配给用户使用的地址连续的内存区称为"占用块". 系统刚刚启动时,整个内存可看做一个大的"空闲块",随着用户请求的进入,系统依次分配相应的内存. 在系统运行过程中,内存被分为两大部分:低地址区(若干占用块)和高地址区(空闲块). 经过一段时间后

Swift语言的内存管理哦,还等什么?点进来!

//*********Swift语言的内存管理基础************* //内存管理:针对的是实例的内存占用的管理(放在堆里面) //实例:1,由class类型构建的实例 2.闭包对象 /* 内存管理技术:ARC:Automatic Reference Count 自动:由于语言本身帮我们管理内存,不需要我们手机去管理 比如在c中就调用dealloc() 引用:let p = Person() p就是对Person()这个对象的一个引用 计数: let p = Person()   +1

C语言实现链表节点的插入

对链表进行增删改查是最基本的操作.我在上一篇博客<C语言实现链表节点的删除>实现了删除链表中的某个节点.这里我们要来实现在某个位置插入节点.示例代码上传至https://github.com/chenyufeng1991/InsertList  . 核心代码如下: Node *InsertToPosition(Node *pNode,int pos,int x){ if (pos < 0 || pos > sizeList(pNode) ) { printf("%s函数执

C语言堆内存管理上出现的问题,内存泄露,野指针使用,非法释放指针

(1)开辟的内存没有释放,造成内存泄露 (2)野指针被使用或释放 (3)非法释放指针 (1)开辟的内存没有释放,造成内存泄露,下面的例子就可能造成20个字节的泄露,内存泄露不是一个立即会引发故障的错误,但是 它将消耗系统内存. void function1() { char *pa; pa = (char*)malloc(sizeof(char)*20); if(NULL !=pa) { strcpy(pa,"hello"); printf("pa = %x\n",

JVM内存管理------JAVA语言的内存管理概述

引言 内存管理一直是JAVA语言自豪与骄傲的资本,它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节,只专注于业务逻辑.不过世界上不存在十全十美的好事,在带来了便利的同时,也因此引入了很多令人抓狂的内存溢出和泄露的问题. 可怕的事情还不只如此,有些使用其它语言开发的程序员,给JAVA程序员扣上了一个"不懂内存"的帽子,这着实有点让人难以接受.毕竟JAVA当中没有malloc和delete.没有析构函数.没有指针,刚开始接触JAVA的程序员们又怎么可能接触内存这一部分呢,更何况有不

R语言的包管理功能

现代的开发语言都已经不再是单一的编程语言和编译环境,而是一个网络化的分布式系统.通过包(packages)管理程序进行软件模块的安装.卸载.更新等操作. 包管理的思路从Linux操作系统而来,通过Debian的apt-get可以从全球数万个网站快速获取软件的最新版本.在Mac OS X上也可以通过MacPort或Brew进行软件包的管理.Java语言自己不带包管理程序,但可通过maven进行包的自动下载和编译.链接.nodejs是通过npm进行包管理.python通过pip进行包管理.这些都是在

C 语言静态链表实现

C  语言静态链表实现 可运行源代码 staticlink.h #include <stdio.h> #include <stdlib.h> #define OK 1 #define TRUE 1 #define FALSE 0 #define ERROR 0 #define MAX_SIZE 100 typedef int Status; typedef int ElementType; typedef struct StaticLinkList { ElementType da

C语言实现链表的逆序打印

我在前面几篇博客中<C语言实现链表节点的插入><C语言实现链表节点的删除><C实现头插法和尾插法来构建链表><C语言实现链表的基本操作>实现了链表的很多增删改查操作.这里我们要来实现链表的逆序打印,使用C来实现.代码上传至 https://github.com/chenyufeng1991/ReverseLinkedList . 基本算法是: (1)使用尾插法构建原链表: (2)依次遍历原链表: (3)取出遍历中的节点使用头插法建立一个新链表: (4)打印逆

(转载)C语言单链表实现19个功能完全详解

最近在复习数据结构,想把数据结构里面涉及的都自己实现一下,完全是用C语言实现的. 自己编写的不是很好,大家可以参考,有错误希望帮忙指正,现在正处于编写阶段,一共将要实现19个功能.到目前我只写了一半,先传上来,大家有兴趣的可以帮忙指正,谢谢 在vs2010上面编译运行无错误. 每天都会把我写的新代码添加到这个里面.直到此链表完成. #include "stdafx.h" #include "stdio.h" #include <stdlib.h> #in