码迷,mamicode.com
首页 > 其他好文 > 详细

删除线性表中所有值为x的元素

时间:2019-11-11 21:36:30      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:inpu   color   def   style   不同的   scan   时间   code   putc   

时间复杂度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\n",s.length);
    for(int i = 0;i < s.length;i ++) {
        printf("%d ",s.data[i]);
    }
    putchar(\n);
}
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;
}

 

删除线性表中所有值为x的元素

标签:inpu   color   def   style   不同的   scan   时间   code   putc   

原文地址:https://www.cnblogs.com/8023spz/p/11838327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!