提高项目24-删除数组元素
来源:互联网 发布:网络直播运行模式 编辑:程序博客网 时间:2024/06/05 07:03
任务和代码:del函数的作用是删除数组a中的指定元素x,n为数组a的元素个数。函数的返回值,为删除元素后的有效元素个数(数组中可能有重复元素)。函数的原型为:
int del (int a[10],int n,int x)
(1)请实现这个函数,并完成测试。
程序运行结果:
int del (int a[10],int n,int x)
(1)请实现这个函数,并完成测试。
(2)如果在函数调用时,要求数组中的元素呈升序排列呢?
/*文件名:main.c作者:小风景完成日期:2016.7.6问题描述:del函数的作用是删除数组a中的指定元素x,n为数组a的元素个数。函数的返回值,为删除元素后的有效元素个数(数组中可能有重复元素)。函数的原型为:int del (int a[10],int n,int x)(1)请实现这个函数,并完成测试。(2)如果在函数调用时,要求数组中的元素呈升序排列呢?程序输出:*/#include <stdio.h>int del(int a[],int n,int m);int main(){ int a[20]= {86,76,62,58,77,85,92,80,96,88,77,67,80,68,88,87,64,59,61,76}; int i, n; n = del(a, 20, 77); //在长度为n的a数组中删除m printf("删除后,数组的剩余元素剩余%d个为:\n",n); for(i=0; i<n; ++i) printf("%d ", a[i]); printf("\n"); return 0;}int del(int a[],int n,int m){ int i = 0; int j = 0; while(i < n) { if(a[i] != m) { a[j] = a[i]; j++; } i++; } return j;}
总结:对于无序的数组操作,只需要将不等于需要删除的数按照顺序排列就好,当遇到要删除的数,跳过,然后将后面的数覆盖到要删除的数的位置.
2)有序数组的删除
/*文件名:main.c作者:小风景完成日期:2016.7.6问题描述:del函数的作用是删除数组a中的指定元素x,n为数组a的元素个数。函数的返回值,为删除元素后的有效元素个数(数组中可能有重复元素)。函数的原型为:int del (int a[10],int n,int x)(1)请实现这个函数,并完成测试。(2)如果在函数调用时,要求数组中的元素呈升序排列呢?程序输出:*/#include <stdio.h>int del(int a[],int n,int m);int main(){ int a[20]= {58, 59, 61, 62, 64, 67, 68, 76, 77, 77, 77, 80, 80, 85, 86, 87, 88, 88, 92, 96}; int i, n; n = del(a, 20, 77); //在长度为n的a数组中删除m printf("删除后,数组的剩余元素剩余%d个为:\n",n); for(i=0; i<n; ++i) printf("%d ", a[i]); printf("\n"); return 0;}int del(int a[],int n,int m){ int i = 0; int j = 0; while((i < n) && (a[i] < m)) { i++; } j = i; while((j < n) && (a[j] == m)) { j++; } while(j < n) { a[i++] = a[j++]; } return i;}
程序运行结果:
总结:对于有序数组,现将小于要删除的数前面的部分找出,然后跳过要删除的数,将后面的数覆盖要删除数的位置。
0 0
- 提高项目24-删除数组元素
- 提高第26课时,实践2,项目2 - 删除数组元素
- 提高篇项目1.3—随机数创建一个长度为16的整型数组a并初始化,删除数组中所有能被3整除的元素
- 第十三周项目1-4:数组中元素的删除
- 删除数组元素.
- js 删除数组元素。
- JS删除数组元素
- js数组删除元素
- PHP删除数组元素
- VBS 删除数组元素
- js删除数组元素
- JS删除数组元素
- JS删除数组元素
- PHP数组删除元素
- splice 删除数组元素
- 删除数组指定元素
- js 删除数组元素
- 数组中删除元素
- php企业号支付(微信支付)
- H含金量 iOS绘图及贝塞尔曲线关键知识
- java 利用反射 获取系统属性
- tomcat指定jdk版本
- C语言学习笔记之文件的分割与合并
- 提高项目24-删除数组元素
- java中使用正则表达式
- UML 构件图(组件图)
- 前端开发日记之a的使用
- 第一天
- hibernate.cfg.xml 创建表
- JDK JRE JVM的区别
- 用jQuery Mobile做HTML5移动应用的三个优缺点
- Centos7 最小化安装出现无法使用网络的问题