注册 登录
编程论坛 数据结构与算法

要求删除[x,y]之间的所有元素,设计一个算法。各位大侠帮忙看看如何改进,谢谢!!

fountainzkw 发布于 2013-03-24 13:40, 800 次点击
int delete(LList *&A,int x,int y){
    int k1,k2,n;
    bool flag1 = false;
    for(int i=0;i<A->length;i++){
        if(A->data[i]>=x&&!flag1){
            k1=i;
            flag1 = true;
        }
        if(A->data[i]<=y){
            n=i;
        }
    }   
    k2=k1;
    for(int i=n+1;i<A->length;i++){
        A->data[k1]=A->data[i];
        k1++;
    }
   
    A->length=A->length-(n-k2+1);
    return 0;
}
3 回复
#2
yuccn2013-03-24 20:37
LList *&A 是大小顺序排好了的吗?
#3
不玩虚的2013-03-24 22:11
//初学者, 小女子被书上一算法难住了
这版的那个我给她发了个关于线性表的操作你,可以去看下,可以写的比你这个还简单
#4
fountainzkw2013-03-25 13:05
回复 2楼 yuccn
是排好序了的。
1