五、数组的应用

1、排序
冒泡排序
排序思路:比较两个相邻的下标对应的元素,如果复合条件就交换位置【最值出现在最右边】

选择排序
排序思路:固定一个下标,然后使用这个下标对应的元素和其他元素进行比较,如果符合条件则交换位置,【最值出现在最右边】
2、查找
顺序查找
将要查找的数据和数组中的元素进行一一的对比,如果相等,说明查到了
二分法查找
前提条件:数组是有序的,
查找思路:通过折半来缩小查找范围【将待查找的数据与中间下标对应的元素进行比较,如果对应的中间下标元素大于待查找的元素的话,说明待查找的元素在前半部分】

时间: 2024-10-10 08:21:43

五、数组的应用的相关文章

第三周 项目五-数组做数据成员(四)文件操作-指针

/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:冷基栋 * 完成日期:2015年 3 月 21 日 * 版 本 号:v1.0 */ 代码 #include <iostream> #include <cstdlib> #include <fstream> using namespace std; const int N=500; class Salary { p

C语言基础五 数组的应用

.根据用户输入的10人成绩并将其保存到数组中,求最高成绩,最低成绩和平均成绩 int scoure[10];//存储10个数据的数组 int i; int sum;//总成绩 int max,min,avg;//最大值,最小值,平均成绩 for(i=0;i<10;i++){ printf("请输入%d个成绩",i+1);//获取用户输入的值 scanf("%d",&scoure[i]); sun+=scoure[i]//总成绩 }avg=sum/10;

JAVA学习笔记(五)- 数组

数组创建 数组 /* * 数组 */ public class Test { public static void main(String[] args) { int age;//声明 age = 20;//赋值 // int[] arrs;//声明了一个数组.array // int arrs2[]; // float[] fs = new float[5];默认元素的值为0.0 // char[] cs = new char[5];'\u0000' // String[] strs = ne

第三周项目五——数组作数据成员(2)

(2)用salary[50]有限制,实际人数少时,会浪费空间,人数多了,无法完成任务.在main()中先输入职工人数,作为参数传递给输入职工工资的成员函数,然后利用动态分配内存的机制,开辟一个大小正好的连续空间,完成上面的工作. /* Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年 3 月 29 日 * 版 本 号:v1.0 * 问题描述:用salary[50]有

Shell脚本(五)数组

平时写脚本还没有用到过数组,暂时先记录下用法. #!/bin/bash array1=(1 2 3 4 5) array1_length=${#array1[@]} echo "array1 length: ${array1_length}" for item in ${array1[@]} do echo "current item of array1: ${item}" done array2[0]="test0" array2[1]=&qu

C 碎片五 数组

构造类型数据是有基本类型数据按照一定规则组成的.数组,结构体,共用体都属于构造类型的数据.数组是有序数据的集合,C语言数组中的每一个元素都属于同一个数据类型,用数组名和下标来唯一确定数组中的元素. 一.一维数组 使用场景:当我们需要存储大量同类型数据的时候可以用数组 一维数组定义:具有相同数据类型变量的有序集合 (空间有序) 声明数组的格式: 类型  数组名[常量表达式] 例: int scores[5] ; 表示:定义了一个整型一维数组,数组名为scores,scores数组有5个元素 说明:

第三周项目五——数组作数据成员(1)

设计一个工资类(Salary) class Salary { private: double salarys[50]; //多人的工资 int number; //实际人数 }; 要设计的成员函数有: void set_salarys( ):输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中: void add_salarys(int x):给每个人涨x元工资 void sort_salarys():对工资排序 void show_salary

c++实验五-数组选择

一.问题及代码 /* * 文件名称:Ex5-1.cpp * 作 者:朱赵有 * 完成日期:2016 年 5 月 10 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:首先要把十个数放在一个数组里,在对这个数组进行分析 * 输入描述:输入是个数 * 问题描述:从键盘中输入10个数放在数组A中,将该数组中不重复的数放到数组B中 * 程序输出:A:"输入的十个数" B:"A数组中不重复的数" * 问题分析:利用老师上课讲的内容 * 算法设计:略 */ #in

第三周 项目五-数组做数据成员(一)

/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:冷基栋 * 完成日期:2015年 3 月 19 日 * 版 本 号:v1.0 */ 问题 设计一个工资类(Salary),其中类的数据成员如下: class Salary { private: double salarys[50]; //多人的工资 int number; //实际人数 }; 要设计的成员函数有: void set_sal

c++实验五—数组分离

/* * 文件名称:22 * 作 者:袁聪 * 完成日期: 2016 年 5月 10 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:数组分离 * 输入描述: 从键盘中输入10个数放在数组A中 * 问题描述: * 程序输出:奇数偶数 * 问题分析:i j表示循环次数 * 算法设计:将该数组中奇数放到数组B,偶数放到数组C中后分别输出 */ #include<iostream> using namespace std; int main() { int m,n=0,d=0,i=0,