删除线性表中为x的元素的三种简单算法。
//删除线性表中不为x的元素。
void delete_list(Sqlist &L,int x){
int k = ;
for(int i=;i < L.length;i++){
if(L.data[i] != x){
L.data[k] = L.data[i];
k++;
}
}
L.length = k;
} //先统计不为x的个数,然后将线性表中不为x的数据向前移动K个。
void delete_list(Sqlist &L,int x){
int k = ,i=;
while(i < L.length){
if(L.data[i] == x){
k++;
}
else{
L.data[i-k] = L.data[i];
}
i++;
}
L.length = L.length - k;
} //用头指针和尾指针同时向中间靠拢来实现。
void delete_list(Sqlist &L,int x){
int k = ,temp =;int *head = L.data[],*nail = L.data[L.length-];
while(head != nail){
if(*head == x){
while(*nail == x){
nail--;
}
temp = *head;
*head = *nail;
*nail = temp;
}
else{
head++;
} }
}
删除线性表中为x的元素的三种简单算法。的更多相关文章
- 删除线性表中所有值为x的元素
时间复杂度O(n),空间复杂度O(1). 简单的问题两种不同的思路. 代码: #include <stdio.h> #define MAX 100 struct sqlist{ int d ...
- 线性表中顺序表的的理解和实现(java)
线性表的顺序表示指的是用一组地址连续的存储单元以此存储线性表的数据元素,这种表示也称作线性表的顺序存储结构或顺序映像.通常,称这种存储结构的线性表为顺序表.特点是:逻辑上相邻的数据元素,其物理次序上也 ...
- 已知长度为n的线性表采用顺序结构,写一算法删除该线性表中所有值为item的元素
/** * @author:(LiberHome) * @date:Created in 2019/2/27 23:34 * @description: * @version:$ */ /*已知长度为 ...
- Django学习路5_更新和删除数据库表中元素
查找所有的元素 Student.objects.all() 查找单个元素 Student.objects.get(主键=值) 主键 pk = xxx 更新数据库数据后进行保存 stu.save() 删 ...
- PHP数据结构之三 线性表中的单链表的PHP实现
线性表的链式存储:用一组任意的存储单元存储线性表中的数据元素.用这种方法存储的线性表简称线性链表. 链式存储线性表的特点:存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是零散分 ...
- PHP数据结构之二 线性表中的顺序表的PHP实现
线性表 (一)基本特点:最基本.最简单.最常用的一种数据结构 在这种结构中: 1.存在一个唯一的被称为“第一个”的数据元素: 2.存在一个唯一的被称为“最后一个”的数据元素: 3.除第一个元素外,每个 ...
- YTU 2601: 熟悉题型——填空题(删除线性表节点)
2601: 熟悉题型--填空题(删除线性表节点) 时间限制: 1 Sec 内存限制: 128 MB 提交: 357 解决: 212 题目描述 给出一串具体长度的数据,删除指定数据. 已经给出部分代 ...
- 完成代码将x插入到该顺序有序线性表中,要求该线性表依然有序
#include <stdio.h> #include <malloc.h> int main(void) { int i, n; double s = 1.3; double ...
- c++实现线性表中的顺序表(数据结构课程作业)
一.题目简介 实现顺序表的创建.初始化.赋值.插入.删除.按数据查找元素位置.按元素位置查找数据.清空.删除 的操作,以上操作用可用菜单选项完成 二.源程序代码 #include<iostrea ...
随机推荐
- pthread_cancel 相关
假设线程A对线程B发出了一个取消请求.通过如下函数: #include <pthread.h> int pthread_cancel(pthread_t thread); 参数: thre ...
- shell习题第17题:检测磁盘
[题目要求] 写一个shell脚本,检测所有磁盘分区使用率和inode使用率并记录到以当天日期命名的日志文件里,当发现某个分区容量或者inode使用量大于85%时候,发邮件提醒 [核心要点] df d ...
- 基于白名单的Payload
利用 Msiexec 命令DLL反弹 Msiexec是Windows Installer的一部分.用于安装Windows Installer安装包(MSI),一般在运行Microsoft Update ...
- VSFTP添加用户
VSFTPD的安装网上有很多教程这里就不多说了,这里主要是针对做主机空间服务的朋友在安装好vsftpd后如何为用户增加ftp账号 先来看一看我们一般在*inux系统下面如何增加用户的 #adduser ...
- ScrumBasic开发记录
ScrumBasic 是基于asp.net core 1.0的开源敏捷管理软件.目前第一版.目前只有很基础的东西.希望我能将这个项目演变下去. 地址:https://github.com/CAH-Fl ...
- C# 关键字 virtual、override和new的用法
代码如下: class A { public void foo() { Console.WriteLine("A::foo()"); } public virtual void b ...
- python打印菱形
1.分析:首先python,我们分析了菱形的成分.双喜鸟seo输入2时,打印三行菱形:输入3时,打印五行菱形.也就是说,根据输入数字A,打印第2a-1行的菱形.菱形由一个三角形和一个倒三角形组成,两个 ...
- sql 将英文句子中的单词首字母转换为大写
create function dbo.pTitleCase(@StrIn nvarchar(max))returns nvarchar(max)as begin; declare @StrOut n ...
- Spring源码解析 - springMVC核心代码
一.首先来讲解下springMVC的底层工作流程 1.首先我们重点放在前端控制器(DispatcherServlet) 其类图: 因为从流程图看,用户的请求最先到达就是DispatcherServle ...
- Unexpected token '...'. Expected a property name.
原因:浏览器不支持 es6 扩展运算符 结论: 1.不用 ... 2. babel-polyfill对扩展运算符...搞的不是太好,要单独安装一个 plugin-proposal-object-re ...