文档章节

数据结构与算法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:
目录帖:​​​​​​​浅谈算法和数据结构

浅谈算法和数据结构: 一 栈和队列 浅谈算法和数据结构: 二 基本排序算法 浅谈算法和数据结构: 三 合并排序 浅谈算法和数据结构: 四 快速排序 浅谈算法和数据结构: 五 优先级队列与堆排序 浅谈...

安小乐
09/04
0
0
技能篇-数据结构和算法篇-基础算法与结构( 一 )

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

TianTianBaby223
2017/08/06
0
0
数据结构和算法(What Why How)

数据结构和算法是什么? 从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。 从狭义上讲,是指某些著名的数据结构和算法,比如队列、堆、栈、二分查找、动态规划等...

hardyyao
10/05
0
0
一句话+一张图理解——数据结构与算法

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

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

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

狂奔啦蜗牛
2012/08/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

防止快速重复点击的两种思维

防止重复执行的两种思维 场景 下单时,提交按钮,因为网络卡顿或者手快重复点击,导致重复提交订单; 微博,更新个人状态或发表评论时,快速多次点击[发送]按钮,导致相同的信息发送多次. 解决思路 ...

黄威
32分钟前
0
0
在windows环境下使用Virtualbox虚拟Debian系统来运行Docker

标题绕口。 我之前一直使用 Virtualbox 和 homestead 来运行我的 PHP 开发环境。最近决心开始尝试 DevOps,使得开发、部署容器化,来化解人为操作失误和环境不兼容等问题造成的各种损失。就打...

zgldh
34分钟前
0
0
python map()

map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。(利用生成器的原理,并不马上返回值,...

南桥北木
48分钟前
0
0
分享几个 SpringBoot 实用的小技巧

前言 最近分享的一些源码、框架设计的东西。我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码的居多;这次就分享一点接地气的: SpringBoot 使用中的一些小技巧。 算不上多高大上...

Java干货分享
48分钟前
2
0
day123-20181021-英语流利阅读-待学习

这款新字体,比记忆面包还管用 Lala 2018-10-21 1.今日导读 字体能跟学习效果有什么关系?你还别说,来自澳洲的心理学家和设计师们,还真创造了一款号称能够帮助大家记忆信息、增强学习效果的...

飞鱼说编程
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部