删除算法需要注意:
1. 列表长度为0时不能再删除
2.每次删除后长度减一
3.输入删除的数据在原来列表中不存在,不需要改变原列表
#include <iostream>
#define MAX 100;
using namespace std;int search(int arr[],int len,int n) {for(int i=0; i<len; i++)if(n==arr[i]) return i;return -1;
}void print(int arr[],int len) {cout<<"打印当前列表";for(int i=0; i<len; i++) {cout<<arr[i]<<' ';}cout<<endl;
}int main() {int len=5;int arr[len]= {1,2,3,4,5};print(arr,len);int n;cout<<"请输入你要删除的数字";while(cin>>n) {int result=search(arr,len,n);if(result==-1) cout<<n<<"不存在列表中";else {for(int i=result+1; i<len; i++) {arr[i-1]=arr[i];}len--;}if(len==0){cout<<"列表已经全部删除完毕";return 0;}print(arr,len);cout<<"请输入需要删除的数据";}return 0;
}