社区
数据结构与算法
帖子详情
在顺序表的建立中,为什么初始化要&,而求表长就没有&?
luoentao
2008-02-26 03:30:54
结构类型定义:
const int MAXSIZE;
struct Seqlist
{
ElemType data[MAXSIZE];
int len;
};
sqlist;
MAXSIZE是线性表存储空间的大小
1.初始化:
void initlist(sqlist &sq)
{
sq.len=0;
}
2.求表长
getlen(sqlist sq)
{
return sq.len;
}
...全文
377
8
打赏
收藏
在顺序表的建立中,为什么初始化要&,而求表长就没有&?
结构类型定义: const int MAXSIZE; struct Seqlist { ElemType data[MAXSIZE]; int len; }; sqlist; MAXSIZE是线性表存储空间的大小 1.初始化: void initlist(sqlist &sq) { sq.len=0; } 2.求表长 getlen(sqlist sq) { return sq.len; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tianjiao85
2008-03-15
打赏
举报
回复
对,C++的基础内容,
liangbch
2008-03-14
打赏
举报
回复
这是一个C++语法语义问题,而不是一个算法问题。
liangbch
2008-03-13
打赏
举报
回复
[Quote=引用楼主 luoentao 的帖子:]
2.求表长
getlen(sqlist sq)
{
return sq.len;
}
[/Quote]
这个也不是好的用法,sqlist占用的空间比较大,如果传值的话,需要执行 拷贝构造函数和析构函数(C++),或者数据复制(C),代价很高,较好的做法,引用传递或者传指针,如果需要明确表明该函数对sq只读不写可以这样做。
getlen(const sqlist *sq)
{
return sq->len;
}
liangbch
2008-03-13
打赏
举报
回复
[Quote=引用楼主 luoentao 的帖子:]
2.求表长
getlen(sqlist sq)
{
return sq.len;
}
[/Quote]
这个也不是好的用法,sqlist占用的空间比较大,如果传值的话,需要执行 拷贝构造函数和析构函数(C++),或者数据复制(C),代价很高,较好的做法,引用传递或者传指针,如果需要明确表明该函数对sq只读不写可以这样做。
getlen(const sqlist *sq)
{
return sq->len;
}
liangbch
2008-03-13
打赏
举报
回复
[Quote=引用楼主 luoentao 的帖子:]
2.求表长
getlen(sqlist sq)
{
return sq.len;
}
[/Quote]
这个也不是好的用法,sqlist占用的空间比较大,如果传值的话,需要执行 拷贝构造函数和析构函数(C++),或者数据复制(C),代价很高,较好的做法,引用传递或者传指针,如果需要明确表明该函数对sq只读不写可以这样做。
getlen(const sqlist *sq)
{
return sq->len;
}
liangbch
2008-03-13
打赏
举报
回复
[Quote=引用楼主 luoentao 的帖子:]
2.求表长
getlen(sqlist sq)
{
return sq.len;
}
[/Quote]
这个也不是好的用法,sqlist占用的空间比较大,如果传值的话,需要执行 拷贝构造函数和析构函数(C++),或者数据复制(C),代价很高,较好的做法,引用传递或者传指针,如果需要明确表明该函数对sq只读不写可以这样做。
getlen(const sqlist *sq)
{
return sq->len;
}
y65500120
2008-03-13
打赏
举报
回复
我也不知道.
大王派我去巡山
2008-02-26
打赏
举报
回复
初始化函数中需要对参数内部的实际数据进行修改,所以需要传引用调用。
如果把这个&去掉,你可以试一下结果。执行完初始化函数之后,len的值不会变。
Java实现数据结构
中
的算法------第一讲
顺序表
使用java语言来实现数据结构
中
涉及到的算法,并针对每个算法搭配习题进行实现。
顺序表
初始化
1.
顺序表
顺序表
(顺序存储结构) 存储数据时,会提前申请一整块足够大小的物理空间,然后将数据按照次序依次存储到一整块连续的存储空间,存储时做到数据元素之间不留一丝缝隙 使用
顺序表
存储集合 {1,2,3,4,5},数据最终的存储状态如图所示: 1.1.
顺序表
的
初始化
顺序存储结构需要如下三个属性: 存储空间的起始地址:数组的起始地址
顺序表
的最大存储容量:数组长度size
顺序表
的当前长度,也就是表
中
存储数据元素的个数:length 自定义
顺序表
结构的C代码: typedef struct Tab
数据结构–
顺序表
(创建
初始化
)
数据结构–
顺序表
(创建
初始化
)
顺序表
和链表不同,
顺序表
类似数组,顺序存储就是地址连续,而链表由于指针的存在地址可以不连续。 既然是一个
顺序表
是一个类似数组的结构,因此在创建时要注意: 1.提前申请足够大的内存空间,防止内存不够导致数据溢出。 2.在创建和
初始化
的时候时刻记录
顺序表
的长度和存储空间大小。 步骤: 1.创建
顺序表
的每一个节点 2.创建实现不同功能的函数:
初始化
顺序表
的函数、打印
顺序表
的函数 3.主函数 调用以上实现个功能的函数 如下: #include <stdio.h> #inc
c语言
顺序表
的基本操作(创建、
初始化
、赋值、插入、删除、查询、替换、输出)
c语言
顺序表
的基本操作(创建、
初始化
、赋值、插入、删除、查询、替换、输出) 1、创建、申请空间 2、
初始化
、
顺序表
数据结构大小、长度 3、赋值、
顺序表
数据结构赋值 4、插入、在指定位置插入数据,后续数据循环后移,长度增加,空间大小增加或者不变 5、删除、删除指定位置的数据,后续数据循环前移,长度减小、空间大小不变 6、查询、查看指定数据是否在
顺序表
结构
中
7、替换、将
顺序表
结构
中
指...
C++实现
顺序表
的创建、
初始化
、查找、插入、删除
C++实现
顺序表
的创建、
初始化
、查找、插入、删除 在学习了数据结构之后,对于
顺序表
的相关操作有了自己的启发,因此拿来敲个代码练练手,我选用的是C++语言,因为我觉得c++可以使用引用,比较方便(纯个人看法嘻嘻),话不多说,上代码 #include<iostream> #include<algorithm> using namespace std; #define MaxSize 10 //
顺序表
的
建立
typedef struct{ int data[MaxSize
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章