文档章节

单链表的一些细节

SVD
 SVD
发布于 2016/07/21 19:29
字数 233
阅读 18
收藏 2

去年的秋天,用js梳理了一下数据结构。

那么这个夏天,一起用C语言来品味一下数据结构之美吧。

下面这段程序就是单链表的建立函数。

里面的细节主要在于创建链表中的节点node,然后用指针将这些节点进行衔接。

需要注意的是,头节点的初始化:

head=(node*)malloc(sizeof(node));

节点指针的移动:

p->next=s;
p=s;

以及对于边界条件的处理:

head = head->next;
p->next = NULL;

整体程序如下:

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;

typedef struct student
{
	int data;
	struct student *next;
}node;

node *creat()
{
	node *head,*p,*s;
	int x,cycle=1;
	head=(node*)malloc(sizeof(node));
	p=head;
	while(cycle)
	{
		cout<<"\n please input the data: ";
		cin>>x;
		if(x!=0)
		{
			s=(node *)malloc(sizeof(node));
			s->data = x;
			cout<<"\n"<<s->data;
			p->next=s;
			p=s;
		}
		else
		{
			cycle=0;
		}

		

	}
	    head = head->next;
		p->next = NULL;
		cout<<head->data;
		return head;
}

 

© 著作权归作者所有

共有 人打赏支持
SVD

SVD

粉丝 34
博文 209
码字总数 103064
作品 0
海淀
私信 提问
《大话数据结构》读书笔记(1)

其实去年的时候就看过这本书了。只是,基本上是走马观花, 了解了一些基本概念。这次,为了看懂里面的代码,又特地去复习了一下c语言。还记得上次看的时候,感觉算法果然名不虚传,真的难!现...

幽灵君
2018/12/16
0
0
单双链表练习题

本文是关于链表的一些操作(包括单链表和双向循环链表) 1、单链表,双链表的创建。 2、单链表和双链表的打印。 3、单链表的插入,删除。 4、双链表的插入和删除。 5、单链表的逆置。 6、单链...

qq_38646470
2018/01/27
0
0
合并k个排好的的单链表

原题   Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 题目大意   合并k个排好的的单链表。分析和描述它的复杂性。 解题思路 ...

一贱书生
2016/12/13
1
0
RocksDB · 特性介绍 · HashLinkList 内存表

Table of Contents RocksDB 内存表简介 RocksDB 是一个基于 LSM 树(Log-Structured Merge-tree)结构的单机数据库引擎,内存表是它最重要的数据结构之一。除了默认的跳表(SkipList)之外,...

阿里云RDS-数据库内核组
2017/05/09
0
0
深度学习Java Future (一)

作者: 一字马胡 转载标志 【2017-12-07】 更新日志 日期 更新内容 备注 2017-12-07 学习Future的总结 关于Future的深入学习内容 Future 上面这段文字已经说明了Future的本质,一个Future代表...

一字马胡
2017/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JS 调用Angularjs 的方法

// 1. 获取 Controllerlet appElement = document.querySelector('[data-ng-controller=MessagesCtrl]');let scope = angular.element(appElement).scope();// 2. 调用方法scope.l......

Moks角木
22分钟前
0
0
dubbo+zookeeper与 eureka的区别

CAP CAP 原则指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得 在分布式架构里, P必须有 Zookeeper保证C P 当...

群星纪元
31分钟前
0
0
云计算之边缘计算大势所趋

如果说边缘计算是公同认定的目标,那么我们看到,不同类型的厂商基于自身的特点,会从不同的起点、沿着不同的路径,向这个目标奔跑。上次参加阿里云的一次活动,看到他们将边缘计算的厂商分成...

linuxCool
36分钟前
0
0
前端通过后端传过来的'\n' ,''等字符串换行失败问题

后台推送换行符 '\n' 或 '<br/>' 等字符串到前台不会换行 详细描述 后台逻辑处理返回String字符串,其中包含\n或<br/>等换行符号,但是前端渲染时候却并没有真正的换行 也尝试了大佬的各种 ...

下次用oschina
43分钟前
2
0
volatile能保证有序性吗?

在前面提到volatile关键字能禁止指令重排序,所以volatile能在一定程度上保证有序性。   volatile关键字禁止指令重排序有两层意思:   1)当程序执行到volatile变量的读操作或者写操作时...

无精疯
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部