起泡法排序10个字符串
时间: 2023-07-25 08:11:46 浏览: 159
好的,下面是起泡法排序10个字符串的示例代码(使用 Python 编写):
```python
strings = ["apple", "banana", "cherry", "date", "elderberry", "fig", "grape", "honeydew", "kiwi", "lemon"]
n = len(strings)
for i in range(n):
for j in range(0, n-i-1):
if strings[j] > strings[j+1]:
strings[j], strings[j+1] = strings[j+1], strings[j]
print("Sorted strings:")
for string in strings:
print(string)
```
输出结果:
```
Sorted strings:
apple
banana
cherry
date
elderberry
fig
grape
honeydew
kiwi
lemon
```
这里使用了嵌套的 for 循环来实现起泡法排序。外层循环控制排序的轮数,内层循环控制每一轮中相邻元素的比较和交换操作。在每一轮排序结束后,最大的元素会被排到序列的末尾,因此下一轮的比较范围会缩小一个元素。最终,序列中的所有元素都按照字典序排好序了。
相关问题
用C语言 起泡法排序10个字符串
好的,下面是使用 C 语言实现起泡法排序10个字符串的示例代码:
```c
#include <stdio.h>
#include <string.h>
void bubbleSort(char *strings[], int n) {
int i, j;
char *temp;
for (i = 0; i < n; i++) {
for (j = 0; j < n - i - 1; j++) {
if (strcmp(strings[j], strings[j+1]) > 0) {
temp = strings[j];
strings[j] = strings[j+1];
strings[j+1] = temp;
}
}
}
}
int main() {
char *strings[] = {"apple", "banana", "cherry", "date", "elderberry", "fig", "grape", "honeydew", "kiwi", "lemon"};
int n = sizeof(strings) / sizeof(strings[0]);
bubbleSort(strings, n);
printf("Sorted strings:\n");
for (int i = 0; i < n; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
```
输出结果:
```
Sorted strings:
apple
banana
cherry
date
elderberry
fig
grape
honeydew
kiwi
lemon
```
这里使用了指针数组来存储字符串,使用 strcmp() 函数来比较字符串的大小。在每一轮排序结束后,最大的字符串会被排到序列的末尾,因此下一轮的比较范围会缩小一个字符串。最终,字符串数组中的所有元素都按照字典序排好序了。
c语言用起泡法对输入的字符串数组进行从小到大排序
下面是用冒泡排序法对字符串数组进行从小到大排序的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[10][50], temp[50];
int n, i, j;
printf("Enter the number of strings: ");
scanf("%d", &n);
printf("Enter %d strings: \n", n);
for(i=0; i<n; i++)
scanf("%s", str[i]);
// Bubble sort
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(strcmp(str[i], str[j]) > 0)
{
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
printf("\nStrings in sorted order: \n");
for(i=0; i<n; i++)
printf("%s\n", str[i]);
return 0;
}
```
首先,我们定义一个字符串数组 `str` 和一个临时字符数组 `temp`,以及输入的字符串数量 `n` 和循环中使用的变量 `i` 和 `j`。
其次,我们通过循环输入 `n` 个字符串。
接着,我们使用嵌套的循环来进行冒泡排序。外层循环从第一个字符串开始到倒数第二个字符串,内层循环从外层循环的下一个字符串开始到最后一个字符串。如果前面的字符串大于后面的字符串,我们就使用 `strcpy` 函数交换它们的位置。
最后,我们打印排序后的字符串数组。
阅读全文