- 浏览: 48103 次
- 性别:
- 来自: 深圳
最新评论
文章列表
结点的操作
由于链表是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结点
...
- 2013-07-19 00:43
- 浏览 442
- 评论(0)
前言
链表是数据结构中非常重要的一种线性结构,它在线性结构中是离散存储的。在讲链表之前,先谈下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 ...
- 2013-07-18 10:58
- 浏览 381
- 评论(0)
数组
把所有节点用一根直线串起来而形成的一种数据结构称为线性结构。
今天我想谈谈线性结构中的数组。大家都知道数组是连续存储的一种线性结构,而数组名为该数组元素的首地址。如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存 ...
- 2013-07-17 12:31
- 浏览 366
- 评论(0)
结构体
什么是结构体?结构体是用户根据实际需要自己定义的复合数据类型。结构体的出现是为了表示一些复杂的数据,而普通的数据类型无法满足要求。
结构体的定义:
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 ...
- 2013-07-17 09:46
- 浏览 538
- 评论(0)
前言
因为之前我学的是信息与计算这个专业(计算机这个专业是大二时转的),所以一开始接触数据结构(大二开的)这门课程,感觉很吃力,不过后来发现也确实很难。
为了学习数据结构,去过图书馆借了相关书籍。一开始看的时候简直就是一头雾水,什么都不懂,连指针是什么也不知道,看了一两天就放弃了。想想还是得把基础捡起来,然来看了问同学建议的一些视频,大概看了1个月左右,决定把再来看数据结构,后来发现还是看不懂,加上那时又临近考试,所以就没去再看了。到了大二下学期,慢慢接触java这门语言,感觉java比c++好学,而且java封装性特别好,很多方法和数据结构(如:集合框架)都帮你封装好了,只要会调用就行 ...
- 2013-07-16 22:12
- 浏览 295
- 评论(0)