对关键字序列 k={ 12 , 45 , 21 , 12 , 30 , 2 , 68 , 33 },分别进行以冒泡排序、选择排序算法、插入排序、快速排序算法测试,给出完整代码以及测试结果。
时间: 2023-09-15 12:16:09 浏览: 51
以下是对关键字序列 k={ 12 , 45 , 21 , 12 , 30 , 2 , 68 , 33 },进行冒泡排序、选择排序算法、插入排序和快速排序算法的代码和测试结果:
1. 冒泡排序算法
```c
#include <stdio.h>
void bubbleSort(int k[], int n)
{
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (k[j] > k[j + 1]) {
temp = k[j];
k[j] = k[j + 1];
k[j + 1] = temp;
}
}
}
}
int main()
{
int k[] = { 12 , 45 , 21 , 12 , 30 , 2 , 68 , 33 };
int n = sizeof(k) / sizeof(k[0]);
bubbleSort(k, n);
printf("冒泡排序结果:\n");
for (int i = 0; i < n; i++) {
printf("%d ", k[i]);
}
return 0;
}
```
测试结果:
```
冒泡排序结果:
2 12 12 21 30 33 45 68
```
2. 选择排序算法
```c
#include <stdio.h>
void selectionSort(int k[], int n)
{
int i, j, minIndex, temp;
for (i = 0; i < n - 1; i++) {
minIndex = i;
for (j = i + 1; j < n; j++) {
if (k[j] < k[minIndex]) {
minIndex = j;
}
}
temp = k[i];
k[i] = k[minIndex];
k[minIndex] = temp;
}
}
int main()
{
int k[] = { 12 , 45 , 21 , 12 , 30 , 2 , 68 , 33 };
int n = sizeof(k) / sizeof(k[0]);
selectionSort(k, n);
printf("选择排序结果:\n");
for (int i = 0; i < n; i++) {
printf("%d ", k[i]);
}
return 0;
}
```
测试结果:
```
选择排序结果:
2 12 12 21 30 33 45 68
```
3. 插入排序算法
```c
#include <stdio.h>
void insertionSort(int k[], int n)
{
int i, j, temp;
for (i = 1; i < n; i++) {
temp = k[i];
j = i - 1;
while (j >= 0 && k[j] > temp) {
k[j + 1] = k[j];
j--;
}
k[j + 1] = temp;
}
}
int main()
{
int k[] = { 12 , 45 , 21 , 12 , 30 , 2 , 68 , 33 };
int n = sizeof(k) / sizeof(k[0]);
insertionSort(k, n);
printf("插入排序结果:\n");
for (int i = 0; i < n; i++) {
printf("%d ", k[i]);
}
return 0;
}
```
测试结果:
```
插入排序结果:
2 12 12 21 30 33 45 68
```
4. 快速排序算法
```c
#include <stdio.h>
void quickSort(int k[], int left, int right)
{
int i, j, temp, pivot;
if (left < right) {
i = left;
j = right;
pivot = k[left];
while (i < j) {
while (i < j && k[j] >= pivot) {
j--;
}
if (i < j) {
k[i] = k[j];
i++;
}
while (i < j && k[i] < pivot) {
i++;
}
if (i < j) {
k[j] = k[i];
j--;
}
}
k[i] = pivot;
quickSort(k, left, i - 1);
quickSort(k, i + 1, right);
}
}
int main()
{
int k[] = { 12 , 45 , 21 , 12 , 30 , 2 , 68 , 33 };
int n = sizeof(k) / sizeof(k[0]);
quickSort(k, 0, n - 1);
printf("快速排序结果:\n");
for (int i = 0; i < n; i++) {
printf("%d ", k[i]);
}
return 0;
}
```
测试结果:
```
快速排序结果:
2 12 12 21 30 33 45 68
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)