zoukankan      html  css  js  c++  java
  • 删除线性表中所有值为x的元素

    时间复杂度O(n),空间复杂度O(1)。

    简单的问题两种不同的思路。

    代码:

    #include <stdio.h>
    #define MAX 100
    struct sqlist{
        int data[MAX];
        int length;
    }s;
    void input(sqlist *s) {
        printf("请输入元素个数:");
        scanf("%d",&s -> length);
        printf("请输入%d个元素:",s -> length);
        for(int i = 0;i < s -> length;i ++) {
            scanf("%d",&s -> data[i]);
        }
    }
    void print(sqlist s) {
        printf("%d
    ",s.length);
        for(int i = 0;i < s.length;i ++) {
            printf("%d ",s.data[i]);
        }
        putchar('
    ');
    }
    void del_1(sqlist *s,int x) {//记录不等于x的个数
        int k = 0;
        for(int i = 0;i < s -> length;i ++) {
            if(s -> data[i] != x) s -> data[k ++] = s -> data[i];
        }
        s -> length = k;
    }
    void del_2(sqlist *s,int x) {//记录等于x的个数
        int k = 0;
        for(int i = 0;i < s -> length;i ++) {
            if(s -> data[i] == x) k ++;
            else s -> data[i - k] = s -> data[i];
        }
        s -> length -= k;
    }
    int main() {
        input(&s);
        int x;
        printf("请输入x:");
        scanf("%d",&x);
        del_1(&s,x);
        print(s);
        return 0;
    }
  • 相关阅读:
    HDU 5319 Painter
    HDU 5328 Problem Killer
    HDU 5327 Olympiad
    HDU 5339 Untitled
    HDU 5335 Walk Out
    HDU 5317 RGCDQ
    HDU 5326 Work
    CF GYM 100703A Tea-drinking
    CF GYM 100703B Energy Saving
    CF GYM 100703F Game of words
  • 原文地址:https://www.cnblogs.com/8023spz/p/11838327.html
Copyright © 2011-2022 走看看