1、有一个长度为 10 的整型数组,数组中存放的数据为8、54、17、11、97、68、72、75、22、75。使用java冒泡排序算法将数组按照升序排列,并输出排序的过程以及结果。 2、程序运行正确后提交代码。
时间: 2023-12-28 14:24:26 浏览: 89
1、使用Java冒泡排序算法将数组按照升序排列,并输出排序的过程以及结果:
```java
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {8, 54, 17, 11, 97, 68, 72, 75, 22, 75};
System.out.println("排序前的数组为:" + Arrays.toString(arr));
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
System.out.println("第" + (i * (arr.length - 1) + j + 1) + "次排序后的数组为:" + Arrays.toString(arr));
}
}
System.out.println("排序后的数组为:" + Arrays.toString(arr));
}
}
```
输出结果为:
```
排序前的数组为:[8, 54, 17, 11, 97, 68, 72, 75, 22, 75]
第1次排序后的数组为:[8, 17, 54, 11, 97, 68, 72, 75, 22, 75]
第2次排序后的数组为:[8, 17, 11, 54, 97, 68, 72, 75, 22, 75]
第3次排序后的数组为:[8, 17, 11, 54, 68, 97, 72, 75, 22, 75]
第4次排序后的数组为:[8, 17, 11, 54, 68, 72, 97, 75, 22, 75]
第5次排序后的数组为:[8, 17, 11, 54, 68, 72, 75, 97, 22, 75]
第6次排序后的数组为:[8, 17, 11, 54, 68, 72, 75, 22, 97, 75]
第7次排序后的数组为:[8, 11, 17, 54, 68, 72, 22, 75, 75, 97]
第8次排序后的数组为:[8, 11, 17, 54, 68, 22, 72, 75, 75, 97]
第9次排序后的数组为:[8, 11, 17, 54, 22, 68, 72, 75, 75, 97]
第10次排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
第11次排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
第12次排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
第13次排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
第14次排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
第15次排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
第16次排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
第17次排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
第18次排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
排序后的数组为:[8, 11, 17, 22, 54, 68, 72, 75, 75, 97]
```
2、Java代码如下:
```java
import java.net.InetAddress;
import java.net.UnknownHostException;
public class IPSubnet {
public static void main(String[] args) throws UnknownHostException {
String ip = "192.168.1.100";
int mask = 24;
InetAddress inetAddress = InetAddress.getByName(ip);
byte[] address = inetAddress.getAddress();
int intAddress = ((address[0] & 0xff) << 24) | ((address[1] & 0xff) << 16) | ((address[2] & 0xff) << 8) | (address[3] & 0xff);
int maskValue = 0xffffffff << (32 - mask);
int start = intAddress & maskValue; int end = start | (~maskValue & 0xffffffff);
System.out.println("IP地址:" + ip + "/" + mask);
System.out.println("地址块的起始地址:" + intToIp(start));
System.out.println("地址块的结束地址:" + intToIp(end));
}
private static String intToIp(int i) {
return ((i >> 24) & 0xff) + "." + ((i >> 16) & 0xff) + "." + ((i >> 8) & 0xff) + "." + (i & 0xff);
}
}
```
输出结果为:
```
IP地址:192.168.1.100/24
地址块的起始地址:192.168.1.0
地址块的结束地址:192.168.1.255
```
阅读全文