三种方法删除有序表中s和t直接的元素(包含s和t)

    技术2026-04-03  12

    #include <iostream> using namespace std; typedef struct { int data[10]={0,1,2,3,4,5,6,7,8,9}; int length=10; }SqList; //解一 bool Del_s_t(SqList &L,int s,int t) { if(L.length==0||s>=t) return false; int k=0; for(int i=0;i<L.length;i++) { if(L.data[i]<s || L.data[i]>t) { L.data[k]=L.data[i]; k++; } } L.length=k; return true; } //解二 //bool Del_s_t(SqList &L,int s,int t) //{ // if(L.length==0||s>=t) // return false; // int k=0; // for(int i=0;i<L.length;i++) // { // if(L.data[i]>=s && L.data[i]<=t) // { // k++; // } // else // { // L.data[i-k]=L.data[i]; // } // } // L.length-=k; // return true; //} //解三 //bool Del_s_t(SqList &L,int s,int t) //{ // if(L.length==0||s>=t) // return false; // int i,j; // for(i=0;i<L.length&&L.data[i]<s;i++); // if(i>=L.length) // return false; // for(j=i;j<L.length&&L.data[j]<=t;j++); // for(;j<L.length;i++,j++) // { // L.data[i]=L.data[j]; // } // L.length=i; // return true; //} int main() { SqList L; if(Del_s_t(L,2,6)) { for(int i=0;i<L.length;i++) cout<<L.data[i]<<" "; cout<<endl; cout<<L.length<<endl; } else cout<<"ERROR!"<<endl; return 0; }

     

    Processed: 0.010, SQL: 9