社区
C语言
帖子详情
如何删除结构体数组中的元素
qijilw
2005-03-15 08:49:43
请教大家如何才能删除结构体数组中的元素?
例如:原数组的元素有5个,通过指定条件如何删除满足条件的元素?
...全文
2418
9
打赏
收藏
如何删除结构体数组中的元素
请教大家如何才能删除结构体数组中的元素? 例如:原数组的元素有5个,通过指定条件如何删除满足条件的元素?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pcboyxhy
2005-03-15
打赏
举报
回复
一样
只不过把判断结构大小的函数自己写。
qijilw
2005-03-15
打赏
举报
回复
比如说吧:
struct tagInfo
{
char cNmae[20];
char cID[6];
float fScore[4];
};
tagInfo Perinfo[5];
这不是有5个元素吗,现在想通过指定条件删除某个元素。比如说第2个元素,那么数组中就只剩下4个元素了。请问该如何实现呢?
谢谢,盼复。
pcboyxhy
2005-03-15
打赏
举报
回复
你的意思是
数组定义在结构体里面?
还是要释放删去的元素的空间?
如果是释放空间,
除非是自己用new或者malloc在堆里分配的空间,
否则不能人为的释放。
qijilw
2005-03-15
打赏
举报
回复
谢谢DX,请讲解一下好吗?而且程序有不少错咧,编译无法通过呀。
yuchengliu
2005-03-15
打赏
举报
回复
#inlcude <iostream>
using namespace std;
int find(int nfind);
int main()
{
int a[] = {1, 2, 3, 4, 5, 6};
int ncount = 0;
int nfind = 3;
ncount = find(nfind);
if (ncount != -1)
{
for (int i = ncount; i < (sizeof a) / sizeof (int); i++)
{
a[i] = a[i + 1];
}
}
}
int find(int nfind)
{
for(int i = 0; i < (sizeof a) / sizeof (int); i++)
{
if (a[i] == nfind)
{
return i;
}
else
i++;
}
return -1;
}
qijilw
2005-03-15
打赏
举报
回复
谢谢pcboyxhy(-273.15℃)的回复,以上程序确实删除了重复元素。但我要请教的是如何删除结构体数组中的元素。比如原来是5个元素,通过删除后结构体中就只4个元素了。应如何实现,谢谢!盼复.
纪俊
2005-03-15
打赏
举报
回复
结构体数组是数组
数组是静态成员存放在栈中而不是堆中
应该不是自己来控制释放
而是在超出这个数组的生命空间的部分由系统自动回收资源
TangChin
2005-03-15
打赏
举报
回复
结构体数组麻烦的地方就是每个元素都是一个结构体,又有多个成员,所以赋值的时候比较麻烦
我觉得使用memcpy比较好,最好使用一个过渡buffer
比如要删除第i个元素
memcpy(tmpbuf,array+i+1,size)
memcpy(array+i,tmpbuf,size)
pcboyxhy
2005-03-15
打赏
举报
回复
先把数组排序,
然后参考这个
针对有序数组进行重复元素删除
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
int data_list[ ] = {1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 7, 8, 9};
int data_size = sizeof(data_list) / sizeof(data_list[0]);
int pri_num = data_list[0];
int new_size = data_size;
for(int p1 = 1 ,p2 = 1; p1 < data_size; )
{
if(data_list[p2] == pri_num)
{
while( data_list[p2] == pri_num && p2 < data_size)
{
++p2;
--new_size;
}
if( p2 == data_size )
break;
data_list[p1] = data_list[p2];
++p2;
}
pri_num = data_list[p2];
++p1;
}
data_size = new_size;
for(int i=0; i<data_size; ++i)
cout<<data_list[i]<<" ";
system("PAUSE");
return 0;
}
fRMField:有效地从结构
中
删除
字段 - 快速 C-Mex-matlab开发
fRMField:从结构
中
删除
字段 - 快速 C-MEX 这个函数比 Matlab 2009a 的 RMFIELD 快 5 到 10 倍。 T = fRMField(S, Name) 输入: S:结构体或
结构体数组
。 名称:字符串或单元格字符串。
删除
名称,它不是字段名称与 Matlab 的 RMFIELD 相反,S 在这里*不是*错误。 输出: T:没有
删除
字段的结构 S。 例子: SA = 1; SB = 2; T = fRMField(S, {'B', 'C'}); % >> TA = 1 T = fRMField(S, 'A'); % >> TB = 2 TEST:运行 TestfRMField 以检查 Mex 函数的有效性和速度。 见截图。 测试:Matlab 6.5/2009a、WinXP 32 位、LCC2.4/3.8、BCC5.5、OpenWatcom1.8、MS
数组操作:创建、插入、排序、
删除
用结构体创建一个数组,对数组进行了基本的操作,包括数组的插入、
删除
、排序、求长度等
Visual C++开发实战1200例 第3章
第3章数据结构 3.1 结构体 实例079结构体类型的定义 实例080结构体变量的初始化 实例081如何使用嵌套结构 实例082将结构作为参数传递并返回 实例083共用体数据类型的定义 实例084共用体变量的初始化 实例085如何使用匿名共用体 实例086枚举类型的定义与使用 实例087用new动态创建结构体 实例088使用结构体标识操作员名称密码和级别 实例089创建包括12个月份的枚举类型 实例090带有函数的结构体 3.2 指针、地址与引用 实例091使用指针自增操作输出数组
元素
实例092利用指针表达式操作遍历数组 实例093数组地址的表示方法 实例094指针和数组的常用方法 实例095结构指针遍历结构数组 实例096指针作为函数的参数 实例097多维数组的指针参数 实例098指针作为函数的返回值 实例099使用函数指针制作菜单管理器, 实例100使用指针实现数据交换, 实例101使用指针实现整数排序 实例102指向结构体变量的指针 实例103周指针实现逆序存放数组
元素
值 实例104输出二维数组的有关值 实例105输出二维数组任一行任一列值 实例106使用指针查找数列
中
的最大值和最小值 实例107用指针数组构造字符串数组 实例108将若干字符串按照字母顺序输出 实例109用指向函数的指针比较大小 实例110用指针函数实现求学生成绩 实例111使用指针的指针输出字符串 实例112实现输入月份号输出该月份英文名 实例113使用指向指针的指针对字符串排序 实例114分解字符串
中
的单词 3.3 数组 实例115向数组
中
赋值 实例116遍历数组 实例117求数组
中
元素
的平均和 实例118数组的排序 实例119向数组
中
插入
元素
实例120数组的
删除
操作 实例121数组冒泡排序法
二级上机真题例典—编程
全国计算机等级考试二级C上机题例典 编程题分类 数的按位分离及合并 四舍五入 整除 素数问题,求m到n之间的所有素数,求紧临m的前(或后)的k个素数 求极值和平均值 数组
元素
排序
元素
分段存放 数学公式求值 多项式求值 求方程的解 矩阵问题 移动数组
元素
移动数组
元素
到另一数组 大小写转换
删除
指定的字符 子字符串查找 字符统计 字符串逆置 回文数 数字字符串转换成整数 比较字符串长度 子字符串移动 字符串连接 在链表
中
查找
元素
结构体和链表排序 求链表
中
的极值
C++ 实现静态链表的简单实例
C++ 实现静态链表的简单实例 用数组描述的链表,即称为静态链表。 在C语言
中
,静态链表的表现形式即为
结构体数组
,结构体变量包括数据域data和游标cur。 这种存储结构,仍需要预先分配一个较大的空间,但在作为线性表的插入和
删除
操作时不需移动
元素
,仅需修改指针,故仍具有链式存储结构的主要优点。 下图表示了静态链表的一
中
存储结构: 图
中
用彩色途上的是两个头结点,不存放数据,分别用来记录第一个备用节点和第一个数据节点的下标。 下面给出静态链表的C++实现代码: 首先给出头文件:StaticList.h: #include #include us
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章