如何实现删除数组中的一个元素

ekin7913040 2003-10-16 03:35:43
小弟刚学C++,最近做一题时,遇到点困难,比如说找到一个数组中最小的数,然后将它删除,我已经找到了最小的数,但不知什么删,请解答!
...全文
275 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
libohit 2003-10-16
  • 打赏
  • 举报
回复
建议你去开一本:数据结构的书,这些基本操作都有!
blue_coco 2003-10-16
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int array[10];
int p=0;

cout << "Please input ten integer number:";
for (int i=0; i<=9; i++)
{
cin >> array[i];
}
for (int j=0; j<=9; j++)
{
if (array[p] > array[j])
p = j;
}
cout << "The min is:" << array[p] << endl;

memmove(array+p, array+p+1, 9-p-1);
array[9] = 0;
}
ekin7913040 2003-10-16
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int array[10];
int *p=array;
cout << "Please input ten integer number:";
for (int i=0; i<=9; i++)
{
cin >> array[i];
}
for (int j=0; j<=9; j++)
{
if (array[0] > array[j])
*p = array[j];
else
*p = array[0];
}
cout << "The min is:" << *p << endl;
}
最小的数已经找到,但是怎么实现删除最小的数!
蝎子i软件 2003-10-16
  • 打赏
  • 举报
回复
方法有好多种:
1、建立另一个数组,用于记录数组中各位的状态(有效/被删);
2、用位域存储状态;
3、给数组规定一个结束标志,删除时只需挪位就可以了;
4、用一个变量记录数组的长度,删除时挪位,长度减1。

我就想到这么多了...

good luck!
acqy 2003-10-16
  • 打赏
  • 举报
回复
来个循环,找到这个数,然后删除,最后把后面的数据向前移动。

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧