顺序表删除重复的元素代码

顺序表删除重复的元素代码

问:怎样用C语言实现递增的顺序表中删除相同的元素
  1. 答:/**
    *删除递增顺序表中的重复元素,时间复杂度O(n)
    */
    void deleteSame(SqlList * L){
    int i=0,j=1;
    int deleteLen = 0;
    while(j<L->length){
    while(L->data[i] == L->data[j]){ 
    j++; 
    deleteLen++;
    }
    if(j-i>1){//证明有重复的元素
    L->data[++i] = L->data[j];
    }else{ //1 2 2 3 4
    i++;
    }
    j++;
    }
    L->length -= deleteLen;
    }
  2. 答:求1*2*3*……….*10。(循环)
    答案
    void main()
    {
    int i=0,j=1;
    for (i=2;i<=10;i++)
    {
    j*=i;
    }
    printf("%d",j);
    return 0;
    }
  3. 答:相邻比较一下,这还难吗?
问:顺序表删除相同元素
  1. 答:第三个for语句,改成:
    for(k=j;k<L.length-1;k++)
    试一试。
问:python123上一道习题删除列表中重复元素求代码,或者帮我看看我的代码怎么改,初学,我感觉好像要大改?
  1. 答:代码如下,:
    import random
    m = int(input("m:"))
    n = int(input("n:"))
    random.seed(m)
    randoms = [str(random.randint(0, 9)) for i in range(10)]
    sort_randoms = list(set(randoms))
    sort_randoms = sorted(sort_randoms, key=int)
    print(randoms)
    print(sort_randoms)
    输出:
    ['9', '0', '6', '7', '9', '0', '3', '7', '7', '4']
    ['0', '3', '4', '6', '7', '9']
  2. 答:代码:
    from random import *
    m=int(input())
    n=int(input())
    seed(m)
    l=list(map(lambda _:str(randint(0,9)),range(n)))
    print(l)
    l=list(set(l))
    l.sort()
    print(l)
    运行截图:
顺序表删除重复的元素代码
下载Doc文档

猜你喜欢