在程序实际应用中,字符串序列的查找与排序使用得更为广泛。比如按姓名排序就是对字符串序列的排序计算过程;图书的检索则可以是对已排序好的字符串序列(如图书编号、书名)进行查找计算。
数值序列可以根据各个数的大小进行查找和排序。字符串序列也一样,比较常用的是根据字符串中每个字符的Unicode码值的大小进行排序或检索。如字符串"abc"<"abcd","abc">"ABC","张三">"李四"。
对字符串数组进行查找和排序,其算法与对数值的查找和排序是一样的。不同的是,对整型数或实型数进行比较时,可以使用关系运算符进行数值大小的比较,但对字符串不能使用关系运算符进行比较。例如,对于整型数组a[],可以使用以下语句:
但是,如果a[]是个字符串数组时,则上面的程序语句,应该写成:
注意:对字符串进行比较时,不能使用关系运算符,而只能使用字符串对象的方法,如String对象的equals()方法、compareTo()方法等。这是因为字符串不是基本数据类型,而是一个对象,也就是引用类型。引用类型变量本身所表示的只是对象的地址。如果使用关系运算符对两个引用变量进行比较,只能是两个对象的地址的比较,而不是对象内容的比较。
【例9-25】将例9-14改写成字符串数组的查找程序。
程序思路:程序与例9-14基本相同,将数组更换为字符串数组,将字符串的比较改为使用字符串方法equals()和compareTo()就可以了。(www.daowen.com)
程序运行结果:
4
【例9-26】将例9-19改写成字符串数组的排序程序。
程序思路:程序与例9-19基本相同,将数组更换为字符串数组,将字符串的比较改为使用字符串方法compareTo()就可以了。
程序运行结果:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。