文档章节

数据结构与算法2

沉迷于编程的小菜菜
 沉迷于编程的小菜菜
发布于 2018/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
博文 46
码字总数 19097
作品 0
杭州
私信 提问
加载中

评论(1)

影夜Linux
影夜Linux
不错呦,要坚持住💖
目录帖:​​​​​​​浅谈算法和数据结构

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

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

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

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

版权声明:欢迎转载,转载请注明出处:土豆洋芋山药蛋 https://blog.csdn.net/qq_33414271/article/details/80366014 本文试图用图形化的方式展示数据结构与算法,也算是一个小总结,各位看官...

土豆洋芋山药蛋
2018/05/18
0
0
JAVA数据结构的个人见解之绪论

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

狂奔啦蜗牛
2012/08/23
0
0
数据结构基本概念 - 学习笔记

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

wqli
2012/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
1
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
2
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
3
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
3
0
深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部