`
文章列表
结点的操作 由于链表是n个离散结点彼此通过指针相连,所以对链表的相关操作主要通过头指针(存放了头结点的地址)对结点进行操作来实现。 1.如何将q所指向的结点插入到p所指向结点的后面? 有两个方法 第一种: 采用临时变量 r=p->pNext;//用r保存p所指向结点的下一个结点地址 p->pNext=q;//此时p的指针域指向q所指的结点的地址 q->pNext=r; 第二种:不采用临时变量 q-pNext=p->pNext;//让p和q所指向结点的指针域指向后面的同一个结点 p-pNext=q;//再让p的指针域指向q结点 ...
前言 链表是数据结构中非常重要的一种线性结构,它在线性结构中是离散存储的。在讲链表之前,先谈下typedef(为数据类型取别名)的用法,因为typedef在定义结构体时经常用到,可以起到很好的简化数据类型书写的作用。 实例说明: #include<stdio.h> typedef struct Student { int sno;//学号 char name[20];//姓名 }*PST,ST;//PST代表了struct Student *,ST代表了struct Student,即分别为其数据类型取别名 int main() { ST s={1001 ...
数组 把所有节点用一根直线串起来而形成的一种数据结构称为线性结构。 今天我想谈谈线性结构中的数组。大家都知道数组是连续存储的一种线性结构,而数组名为该数组元素的首地址。如int a[3]={1,2,3};a就等价于&a[0],而&a[0]本身是int *类型,所以我们通常利用数组名来与指针建立联系,进而跨函数使用内存对数组进行操作。 实例说明: #include<stdio.h> #include<malloc.h> #include<stdlib.h> struct Arr { int* pBase;//pBase存 ...
结构体 什么是结构体?结构体是用户根据实际需要自己定义的复合数据类型。结构体的出现是为了表示一些复杂的数据,而普通的数据类型无法满足要求。 结构体的定义: struct Student //struct Student为一个复合数据类型,结构体名字为Student,含有三个成员sno,name,age { int sno; char name[20]; int age; };//分号不能省 实例说明1: #include<stdio.h> #include<string.h> struct Student{ int ...
前言 因为之前我学的是信息与计算这个专业(计算机这个专业是大二时转的),所以一开始接触数据结构(大二开的)这门课程,感觉很吃力,不过后来发现也确实很难。 为了学习数据结构,去过图书馆借了相关书籍。一开始看的时候简直就是一头雾水,什么都不懂,连指针是什么也不知道,看了一两天就放弃了。想想还是得把基础捡起来,然来看了问同学建议的一些视频,大概看了1个月左右,决定把再来看数据结构,后来发现还是看不懂,加上那时又临近考试,所以就没去再看了。到了大二下学期,慢慢接触java这门语言,感觉java比c++好学,而且java封装性特别好,很多方法和数据结构(如:集合框架)都帮你封装好了,只要会调用就行 ...
Global site tag (gtag.js) - Google Analytics