2.09
学习到两点:++i和i++的区别;
用一个从零起++的变量可优化二重循环;
//版权所有贾涛
#include <iostream> #include<math.h> #include<stdlib.h> using namespace std; class List{ int Maxsize,last; //last??????????????????��???��???0?? int *data; public:List(int size){Maxsize=size; //?????? last=-1; data=new int[Maxsize]; } ~List(){delete[] data;} void input(){ //?????? while(1){ cout<<"????????????????��????????��??????"<<endl; cin>>last; if(last<=Maxsize) break; } cout<<"??????????????"<<endl; for(int i=0;i<=last;i++){ cin>>data[i]; } } void output(){ //??????? cout<<"???????????"<<endl; for(int i=0;i<last;i++){ cout<<data[i]<<" "; } cout<<data[last]<<endl; } void Remove(int x) { //?��????????? int n = last + 1; last = -1; for (int i = 0; i < n; i++) { if (data[i] <=x) { data[++last] = data[i]; } } } }; int main(){ List l(1000); l.input(); int x; cout<<"????????????:"<<endl; cin>>x; l.Remove(x); l.output(); return 0; }