用ST语言写一个冒泡排序
时间: 2023-07-20 14:16:34 浏览: 58
以下是使用ST语言编写的冒泡排序代码:
```
VAR
arr : ARRAY [0..9] OF INT := [5, 2, 9, 3, 7, 6, 1, 8, 4, 0];
i, j, temp : INT;
END_VAR
FOR i := 0 TO 8 DO
FOR j := 0 TO 8 - i DO
IF arr[j] > arr[j+1] THEN
temp := arr[j];
arr[j] := arr[j+1];
arr[j+1] := temp;
END_IF
END_FOR
END_FOR
```
以上代码中,我们首先定义了一个包含10个整数的数组`arr`,然后使用两个嵌套的`FOR`循环进行冒泡排序,最后得到的有序结果存储在数组`arr`中。
相关问题
使用Java语言写一个冒泡排序
当然,下面是使用Java语言编写的冒泡排序算法的示例代码:
```java
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 2, 8, 12, 1, 6, 4};
System.out.println("排序前的数组:");
printArray(arr);
bubbleSort(arr);
System.out.println("排序后的数组:");
printArray(arr);
}
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换arr[j]和arr[j+1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
public static void printArray(int[] arr) {
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}
}
```
在上面的代码中,我们定义了一个`bubbleSort`方法来实现冒泡排序算法。在主方法中,我们创建了一个整型数组,并将其传递给`bubbleSort`方法进行排序。最后,我们使用`printArray`方法打印排序前后的数组。
运行以上代码,将会输出以下结果:
```
排序前的数组:
5 2 8 12 1 6 4
排序后的数组:
1 2 4 5 6 8 12
```
这就是一个简单的使用Java语言实现的冒泡排序算法。
使用Tcl语言写一个冒泡排序程序
好的,下面是使用Tcl语言写一个冒泡排序程序的代码:
```
set arr {3 2 1 5 4}
set len [llength $arr]
for {set i 0} {$i < $len - 1} {incr i} {
for {set j 0} {$j < $len - $i - 1} {incr j} {
if {[lindex $arr $j] > [lindex $arr [expr $j+1]]} {
set temp [lindex $arr $j]
lset arr $j [lindex $arr [expr $j+1]]
lset arr [expr $j+1] $temp
}
}
}
puts $arr
```
这段代码中,我们首先定义了一个待排序的数组arr,并计算其长度。然后使用两个循环来实现冒泡排序。外层循环控制排序的轮数,内层循环用于比较相邻两个元素的值,并将较大的元素向后移动。最终,数组arr会被排序并输出。