选择排序法字符c语言
时间: 2023-12-02 08:40:40 浏览: 35
以下是使用选择排序法对字符数组进行排序的C语言代码:
```c
#include <stdio.h>
#include <string.h>
void selectionSort(char arr[], int n) {
int i, j, min_idx;
char temp;
for (i = 0; i < n-1; i++) {
min_idx = i;
for (j = i+1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
int main() {
char arr[] = "selectionsort";
int n = strlen(arr);
selectionSort(arr, n);
printf("Sorted array: %s", arr);
return 0;
}
```
相关问题
c语言实现字符串选择排序法
以下是C语言实现字符串选择排序法的示例代码:
```c
#include <stdio.h>
#include <string.h>
void selectionSort(char *arr[], int n) {
int i, j, min;
char *temp;
for (i = 0; i < n - 1; i++) {
min = i;
for (j = i + 1; j < n; j++) {
if (strcmp(arr[j], arr[min]) < 0) {
min = j;
}
}
if (min != i) {
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
}
int main() {
int i, n;
char *arr[] = {"apple", "banana", "orange", "grape", "pear"};
n = sizeof(arr) / sizeof(char *);
printf("Before sorting: ");
for (i = 0; i < n; i++) {
printf("%s ", arr[i]);
}
selectionSort(arr, n);
printf("\nAfter sorting: ");
for (i = 0; i < n; i++) {
printf("%s ", arr[i]);
}
return 0;
}
```
在上面的示例代码中,我们定义了一个 `selectionSort` 函数来实现字符串选择排序法,该函数接受一个字符串数组和数组长度作为参数。在函数内部,我们使用两个循环嵌套来遍历数组并找到最小值,然后将其与当前位置的值进行交换。最后,我们在 `main` 函数中调用 `selectionSort` 函数并输出排序前和排序后的字符串数组。
c语言冒泡法排序10个字符
以下是一个使用冒泡排序算法对10个字符进行排序的C语言代码示例:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char arr[10] = {'d', 'b', 'f', 'a', 'c', 'e', 'h', 'g', 'j', 'i'};
int n = 10;
int i, j;
char temp;
// 冒泡排序
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换相邻的两个字符
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的字符数组
for (i = 0; i < n; i++) {
printf("%c ", arr[i]);
}
return 0;
}
```
输出结果为:
```
a b c d e f g h i j
```