使用c语言编写一段代码:手动输入一串数据,采用顺序存储结构,完成顺序表的创建,实现对顺序表的直接插入排序、冒泡排序。
时间: 2024-03-03 20:49:22 浏览: 69
好的,以下是实现上述功能的C语言代码:
```c
#include <stdio.h>
// 定义顺序表结构体
typedef struct {
int data[100];
int length;
} SeqList;
// 创建顺序表
void createList(SeqList *list) {
printf("请输入顺序表的长度:");
scanf("%d", &(list->length));
printf("请输入顺序表的元素:");
for (int i = 0; i < list->length; i++) {
scanf("%d", &(list->data[i]));
}
}
// 直接插入排序
void directInsertionSort(SeqList *list) {
for (int i = 1; i < list->length; i++) {
int temp = list->data[i];
int j = i - 1;
while (j >= 0 && list->data[j] > temp) {
list->data[j + 1] = list->data[j];
j--;
}
list->data[j + 1] = temp;
}
}
// 冒泡排序
void bubbleSort(SeqList *list) {
for (int i = 0; i < list->length - 1; i++) {
for (int j = 0; j < list->length - 1 - i; j++) {
if (list->data[j] > list->data[j + 1]) {
int temp = list->data[j];
list->data[j] = list->data[j + 1];
list->data[j + 1] = temp;
}
}
}
}
// 输出顺序表
void printList(SeqList *list) {
printf("排序后的顺序表为:");
for (int i = 0; i < list->length; i++) {
printf("%d ", list->data[i]);
}
printf("\n");
}
int main() {
SeqList list;
createList(&list);
directInsertionSort(&list);
printList(&list);
bubbleSort(&list);
printList(&list);
return 0;
}
```
这段代码实现了手动输入一串数据,采用顺序存储结构,完成顺序表的创建,实现对顺序表的直接插入排序、冒泡排序的功能。
阅读全文