顺序表筛选数据的应用
来源:互联网 发布:淘宝网开通账户 编辑:程序博客网 时间:2024/06/15 06:13
问题如下:线性顺序表A中含有n个有序整数{2,2,3,4,4,4,6,6,8,8,8,9},B为空,写一个算法,将A中不相同的值移入B中,要求:对A表只扫描一次,结果B中元素是{2,3,4,6,8,9}
(1).核心算法思想
该算法先将第一个数赋值给数组b的第一个数,然后从第二个数开始筛选,筛选时通过判断数组a中下标i的数与数组a中下标为i-1的数是否相同,若相同则下标i加1,判断下一位,若不相同,则将此时数组a下标i所指向的数赋值给数组b的下标j所指向的数且j,加1,循环至数组a的下标i指向最后一个数结束为止。
(2).算法特点描述
该算法时间复杂度为O(n)和空间复杂度为O(1),处理有序数组较为轻松简便,若是处理无序数组,则还需要根据情况选择是否先排序然后再扫描,那样将会大大增加算法的复杂度。
(3).具体实现
main(){
int a[12] = {2,2,3,4,4,4,6,6,8,8,8,9};
int b[12] = {0};
int i,j;
j = 1;
b[0] = a[0];
for(i = 1; i < 12; i++){
if(a[i]!=a[i-1]){
b[j] = a[i];
j++;
}
}
for(i = 0; i < j; i++ ){
printf("%-3d",b[i]);
}
return 0;
}
(4).程序运行结果与分析
程序运行结果:
- 顺序表筛选数据的应用
- “筛选”与数据透视表的筛选
- 顺序表筛选素数
- Excel的筛选功能应用教你在大数据中筛选出需要的数据
- vue 数据遍历筛选 过滤 排序的应用
- 筛选法的应用
- 顺序表的应用
- 顺序表的应用
- 顺序表的应用
- 顺序表的应用
- 自动筛选的逻辑(8)-透视表筛选的应用
- 数据冒险之顺序表应用
- 自动筛选的逻辑(7)-与数据透视表的筛选不同
- 筛选DataTable数据的方法
- 筛选DataTable数据的方法
- 筛选DataTable数据的方法
- 筛选DataTable数据的方法
- 顺序表的应用举例
- OpenCV-Python——图像金字塔
- MongodbTemplate的查询操作
- 10.5日常总结
- 前端实用工具及其js相关功能的类库总结
- 信号量处理相关函数
- 顺序表筛选数据的应用
- Stars(树状数组)
- socket通信
- excel实现分组
- 从输入URL到页面显示发生了什么
- 犯罪嫌疑人--逻辑推理
- Java比较器
- ServletConfig和ServletContext的意思
- 无缝滚动效果