顺序表表--该算法删除线性表中所有值为x的数据元素(时间复杂度为O(n)、空间复杂度为O(1))
发布日期:2021-11-02 05:00:16
浏览次数:3
分类:技术文章
本文共 1464 字,大约阅读时间需要 4 分钟。
线性表
/* 已知长度为n的线性表A采用顺序存储结构。 设计一个时间复杂度为O(n)、空间复杂度为O(1)的算法, 该算法删除线性表中所有值为x的数据元素。*//* 方法一: 找到第一个不相等的元素就放到链表第一个,第二个就放到第二个*/ #include#include typedef struct { int data[100]; int length;}SqList;void CreateList(SqList *&L,int a[],int n);void delect(SqList *&L,int x);int main(){ int i; SqList *L; int a[] = {1,2,1,2,3,2}; CreateList(L,a,6); delect(*&L,2); for( i = 0; i < L->length; i++) printf("%d\n",L->data[i]); return 0; }void CreateList(SqList *&L,int a[],int n) //顺序表指针L { int i; L = (SqList *)malloc(sizeof(SqList)); for( i=0; i data[i]= a[i]; } L->length = n; }void delect(SqList *&L,int x){ int k = 0; int i = 0; for( i = 0; i < L->length; i++) { if(L->data[i] != x) { L->data[k] = L->data[i]; k++; } } L->length = k;}
/* 方法二:将不为x的元素前移k个位置,最后修改A的长度 */#include#include typedef struct{ int data[6]; int length;}SqList;void CreateList(SqList *&L,int a[],int n);void delect(SqList *&L,int x);int main(){ int i; SqList *L; int a[] = {1,2,1,2,3,2}; CreateList(L,a,6); delect(L,2); for( i = 0; i < L->length; i++) printf("%d\n",L->data[i]); return 0;}void CreateList(SqList *&L,int a[],int n) //顺序表指针L { int i; L = (SqList *)malloc(sizeof(SqList)); for( i=0; i data[i]= a[i]; } L->length = n; }void delect(SqList *&L,int x){ int k = 0; int i; for( i = 0; i < L->length; i++) { if( x == L->data[i]) { k++; } else { L->data[i-k] = L->data[i]; } } L->length = L->length - k;}
转载地址:https://blog.csdn.net/weixin_43486985/article/details/97531905 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月31日 01时55分11秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
11 Python总结之股票数据量化分析
2021-06-29
12 Python总结之蒙特卡洛模拟
2021-06-29
13 Python总结之估值
2021-06-29
14 Python总结之风险管理
2021-06-29
15 Python总结之数据分析与挖掘
2021-06-29
16 Python总结之舆情时间序列可视化
2021-06-29
数据结构和算法的知识图谱
2021-06-29
人工智能技术知识图谱
2021-06-29
机器学习算法之KNN
2021-06-29
实战六:手把手教你用TensorFlow进行手写数字识别
2021-06-29
实战七:手把手教你用TensorFlow进行验证码识别(上)
2019-04-26
机器学习算法之梯度下降法
2019-04-26
机器学习算法之多项式回归
2019-04-26
TensorFlow(keras)入门课程--01 机器学习的Hello World
2019-04-26
TensorFlow(keras)入门课程--03 卷积介绍
2019-04-26
TensorFlow(keras)入门课程--04 卷积神经网络
2019-04-26
TensorFlow(keras)入门课程--05 复杂图像处理
2019-04-26
TensorFlow(keras)入门课程--06 CNN用于猫狗数据集
2019-04-26
【比赛篇】TinyMind人民币面值 - 热身赛
2019-04-26
卷积神经网络交通标志识别
2019-04-26