插入
步骤:
1.找到插入位置
2.腾位置:从最后一个元素开始,将数字复制到后一个元素中
3.插入
4.数组长度+1
#include <iostream>
using namespace std;
int main()
{
//实现数组的插入
double power[10] {236,789,546,987}; //数组的大小一定确定了,就不可以更改。
int powerCount = 4;//当前数组中元素个数
//排序
for(int i=0; i<powerCount-1; i++)
for(int j=0; j<powerCount-i-1; j++)
{
if(power[j]>power[j+1])
{
int t=power[j];
power[j]=power[j+1];
power[j+1]=t;
}
}
for(int i=0; i<powerCount; i++)
cout<<power[i]<<" ";
cout<<endl;
//插入——有序插入
int insertPower;
//注意这里最好给insertIndex赋初值为powerIndex,
//因为你很可能插入的数字到数组尾部,这时候就没有可以比较的值,就不会进行插入了
int insertIndex=powerCount;
cout<<"请输入要插入的元素:"<<endl;
cin>>insertPower;
for(int i=0; i<powerCount; i++)
{
//1.找到插入位置
if(insertPower< power[i])
{
insertIndex=i;
break;
}
}
//2.腾位置:从最后一个元素开始,将数字复制到后一个元素中
for(int i=powerCount-1; i>=insertIndex; i--)
power[i+1]=power[i];
//3.插入
power[insertIndex]=insertPower;
//4.数组长度+1
powerCount++;
for(int i=0; i<powerCount; i++)
cout<<power[i]<<" ";
cout<<endl;
return 0;
}
删除
步骤:
1.找到删除位置
2.删位置:从找到的元素开始,将数值复制到前一个元素中
3.数组长度-1
#include <iostream>
using namespace std;
int main()
{
//实现数组的插入
double power[10] {236,789,546,987}; //数组的大小一定确定了,就不可以更改。
int powerCount = 4;//当前数组中元素个数
//删除
int deletePower;
int deleteIndex=-1;
cout<<"请输入要删除的是数字:"<<endl;
cin>>deletePower;
for(int i=0; i<powerCount; i++)
{
//1.找到删除位置
if(deletePower== power[i])
{
deleteIndex=i;
break;
}
}
if(deleteIndex==-1)
{
cout<<"没有找到请查看输入是否有误"<<endl;
exit(0);
}
//2.删位置:从找到的元素开始,将数值复制到前一个元素中
for(int i=deleteIndex; i<powerCount-1; i++)
power[i]=power[i+1];
//3.数组长度-1
powerCount--;
for(int i=0; i<powerCount; i++)
cout<<power[i]<<" ";
cout<<endl;
return 0;
}