文档章节

数据结构与算法2

沉迷于编程的小菜菜
 沉迷于编程的小菜菜
发布于 07/18 20:38
字数 665
阅读 3
收藏 0

一个数组的例子,实现查找,显示和删除的功能。 

在这个数组中存储的数据类型是long型,使用long型为的是表明这是数据,而int型被用来表示下标。通常数据结构存储的数据项包含有好几个字段,所以应该由对象而不是简单类型来代表它们。

插入:

箱数组中插入数据

arr[0] = 77;

查找:

变量保存了待查找的值。在查找的过程中,用变量一个一个与数组中的数据项比较,如果循环变量j变化到最后一个数据项,但是仍然没有匹配上,这个值就不再数组中,屏幕上会显示相应消息

删除:

删除从查找特定的数据项开始,为了简化问题,可以假设查找的数字就在数组中,找到数据项后,向前移动所有下标比他大的数据项填补删除后留下的空白地址,并将总数减一。

显示:

利用for循环来逐个显示数据项,值得注意的print,println的使用,功能不同,显示的格式也有所不同。

数据结构:

array.java中的结构还是需要改进的,因为只有一个main函数,继续将学习更加面向对象的格式,接下来会通过两个步骤改进:

首先首先将数组存储结构从程序中分离出来。程序的其他部分成为使用这个数组的用户

其次,改进存储结构与用户之间的通信。


public class array {
public static void main(String[] args)
	{
	long[] arr;
	arr = new long[100];
	int nElems = 0;
	int j;
	long searchkey;
	arr[0] = 77;
	arr[1] = 99;
	arr[2] = 44;
	arr[3] = 55;
	arr[4] = 22;
	arr[5] = 88;
	arr[6] = 11;
	arr[7] = 00;
	arr[8] = 66;
	arr[9] = 33;
	nElems = 10;
	for(j=0;j<nElems;j++)
	System.out.print(arr[j]+" ");
	System.out.println(" ");
	searchkey = 33;
	for(j=0;j<nElems;j++)
		if(arr[j] == searchkey)
		break;
	if(j == nElems)
		System.out.println("can't find " + searchkey);
	else
		System.out.println("found " + searchkey);
	searchkey = 55;
	for(j=0;j<nElems;j++)
		if(arr[j] == searchkey)
			break;
		for(int k = j;k<nElems;k++)
			arr[k] = arr[k+1];
			nElems--;
			for(j = 0;j<nElems;j++)
				System.out.print(arr[j] + " ");
			System.out.println(" ");
	
	}
}
77 99 44 55 22 88 11 0 66 33  
found 33
77 99 44 22 88 11 0 66 33  

学习文献:

Java数据结构和算法(第二版)

© 著作权归作者所有

共有 人打赏支持
沉迷于编程的小菜菜
粉丝 1
博文 41
码字总数 18062
作品 0
杭州
加载中

评论(1)

影夜Linux
影夜Linux
不错呦,要坚持住:sparkling_heart:
技能篇-数据结构和算法篇-基础算法与结构( 一 )

一 : 科普一分钟 什么是数据结构和算法,二者有和联系呢. 其实一种是数据存储的方式,一种是一种实现功能的手段. 我最近经常做饭,打个比方,就好比做菜一样,我们所用的食材就是数据结构,我们做同...

TianTianBaby223
2017/08/06
0
0
一句话+一张图理解——数据结构与算法

本文试图用图形化的方式展示数据结构与算法,也算是一个小总结,各位看官请轻点拍砖~ 一句话: 相互之间存在关系的数据元素的集合就是数据结构,算法是解决特定问题的有限求解步骤。 一张图:...

qq_33414271
05/18
0
0
JAVA数据结构的个人见解之绪论

JAVA数据结构的个人见解之绪论 概念 一般来说用计算机解决问题总是围绕以下三个主要步骤: (1) 抽象出所求解问题中需要处理的数据对象的逻辑模型。(逻辑结构) (2) 根据所求解问题需要完...

狂奔啦蜗牛
2012/08/23
0
0
第一章 基础

什么是算法 ? 算法是编写一段计算机程序一般是实现一种已有的方法来解决某个问题. 在计算机领域里,我们用算法这个词来描述一种有限定,确定,有效的并适用计算机程序来实现解决的方法. 例 : 求...

Jonson
2016/04/21
27
0
数据结构基本概念 - 学习笔记

数据结构基本概念 1 数据:数据是用来描述现实世界的数字、字符、图像、声音,以及能够输入到计算机中并能被计算机处理的符号集合 2 数据元素:数据元素是数据的基本单位,在计算机中通常作为...

wqli
2012/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部