- 如果是完全不了解数据结构的程序员,说不定会通过一个挨一个地定义出若干个离散的变量来编写程序吧。要是程序可以按照预期运行,那么以这种方式编程倒也可以。但是若还要用这种方式实现对多个数据排序的算法,那就有些困难了。
- 下面列出了一段程序,把三个数据分别存入a、b、c三个变量中,再将a、b、c中的数据的值按照降序(从大到小的顺序)排列。在排序时为了交换两个变量的值还需要用到tmp变量。程序使用if语句一对儿一对儿地比较变量的大小,并根据比较的结果交换变量的值。
public class Demo1 { public static void main(String[] args) { int a = 123; int b = 124; int c = 125; //将升序的三个数排成降序的,变量依然以a、b、c排列 int temp; if(a < b) { temp = b; b = a; a = temp; } if(a < c) { temp = c; c = a; a = temp; } if(c > b) { temp = c; c = b; b = temp; } System.out.println(" " + a + " " + b + " " + c); }}
- 虽然上面的程序可以正常地运行 ,但是处理的过程(算法)实在是够啰嗦的。如果需要排序的数据有1000个,那么就需要定义1000个变量。用于比较其中数值大小的if语句,更是需要约数十万个程序块。应该没有人想写这么麻烦的程序吧。也就是说,为了实现想要实现的算法,有时不能只依靠离散的变量。于是乎就出现了数据结构。