当前位置 : 主页 > 编程语言 > java >

【算法】数组元素的删除

来源:互联网 收集:自由互联 发布时间:2022-06-23
C语言代码 /*数组元素的删除*/ #includeiostream #includestdlib.h using namespace std ; int num [ 100 ], number ; int main () { for ( int i = 0 ; true ; i ++ ) { cin num [ i ]; if ( num [ i ] 0 ) break ; number += 1 ; } int x , i =

C语言代码

/*数组元素的删除*/
#include<iostream>
#include<stdlib.h>
using namespace std;

int num[100], number;

int main()
{
for (int i = 0; true;i++)
{
cin >> num[i];
if (num[i] < 0)
break;
number += 1;
}

int x , i = 0;
cout << "请输入需要删除的数字:";
cin >> x;
for (int i = 0; i < number;)
{
if (x == num[i])
{
int n0 = i + 1;
for (int j = i; j < number; j++, n0++)
{
num[j] = num[n0];
}
i = 0;
}
else
i++;
}
for (int i = 0; i < number-s0; i += 1)
cout << num[i] << " ";
system("pause");
return 0;
}

具体介绍

for (int i = 0; true;i++)
{
cin >> num[i];
if (num[i] < 0)
break;
number += 1;
}
  • 随意输入小于100个数字,并以负数作为结束标志
for (int i = 0; i < number;)
{
if (x == num[i])
{
int n0 = i + 1;
for (int j = i; j < number; j++, n0++)
{
num[j] = num[n0];
}
i = 0;
}
else
i++;
}
  • 遍历数组元素,如果碰到需要删除的元素,则进入循环——将后续元素向前移一位,并覆盖掉需要删除的那个元素
  • 重新让 i=0 从头再次开始遍历
  • 当正在判断的数组位不是需要删除的元素时,便i++


【转自:香港服务器 https://www.68idc.cn提供,感谢支持】
网友评论