考研数据结构(每日一题)day06

121 阅读1分钟

考研数据结构(每日一题)

题目:从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不同。

算法图解:

Snipaste_2022-02-22_10-36-56.png

算法思想:

第一个元素肯定不重复,依次向后扫描,不重复就保留,重复就不保留,以此来删除顺序表中重复的元素。

完整代码:

bool Del_same(Sqlist &L){
    if(L.length == 0){   //
        return false;
    }
    //遍历链表
    for(int i = 0, j = 1; j < L.length; j ++){
        if(Ldata[i] != L.data[j]){   //如果i的值不等于j的值,说明不重复
            i ++;   //往后移一位
        }
        L.length = i + 1;  //链表的长度
        return true;
    }
}