一、C语言冒泡排序
将被排序的记录数组R[1..n]垂直排列,每个记录R看作是重量为R.key的气泡。
根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。
如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。
二、冒泡排序字符
24行scanf语句输入数值后,以回车字符结束,被27行的scanf读入,所以看起来是少一个有效字符。
应将24行scanf语句改为:
scanf("%d%*c",&n);
三、plc冒泡排序算法
你好,PLC(可编程逻辑控制器)通常不是用于执行排序算法的。但是,如果要使用PLC实现冒泡排序算法,可以使用以下步骤:
1.初始化数组并将其存储在PLC中。
2.编写一个循环,将数组中的元素两两比较,并根据需要将它们交换位置。
3.继续循环,直到数组中的所有元素都已排序。
4.输出已排序的数组。
以下是一个简单的PLC冒泡排序算法示例:
```
VAR
i:INT:=0;
j:INT:=0;
temp:INT:=0;
arr:ARRAY[1..10]OFINT:=[10,2,8,4,6,9,1,3,7,5];
END_VAR
FORi:=1TO10DO
FORj:=1TO9DO
IFarr[j]>arr[j+1]THEN
temp:=arr[j];
arr[j]:=arr[j+1];
arr[j+1]:=temp;
END_IF
END_FOR
END_FOR
//输出已排序的数组
FORi:=1TO10DO
//输出数组元素
//...
END_FOR
```
以上代码将数组元素两两比较,并根据需要将它们交换位置,直到整个数组都被排序。最后,通过循环输出已排序的数组。
四、java中的冒泡排序
publicvoidbubbleSort(int[]data,StringsortType){
if(sortType.equals("asc")){//正排序,从小排到大
//比较的轮数
for(inti=1;i<data.length;i++){
//将相邻两个数进行比较,较大的数往后冒泡
for(intj=0;j<
data.length
-i;j++){
if(data[j]>data[j+1]){
//交换相邻两个数
swap(data,j,j+1);
}
}
}
}elseif(sortType.equals("desc")){//倒排序,从大排到小
//比较的轮数
for(inti=1;i<data.length;i++){
//将相邻两个数进行比较,较大的数往后冒泡
for(intj=0;j<
data.length
-i;j++){
if(data[j]<data[j+1]){
//交换相邻两个数
swap(data,j,j+1);
}
}
}
}else{
System.out.println("您输入的排序类型错误!");
}
printArray(data);//输出冒泡排序后的数组值
}
感谢您花时间阅读本文!我们希望通过对java冒泡排序代码和java冒泡排序代码及解释的问题进行探讨,为您提供了一些有用的见解和解决方案。如果您需要更多帮助或者有其他疑问,请不要犹豫与我们联系。