c语言初始化一个包含十个数字的简单顺序表
时间: 2024-01-18 09:46:28 浏览: 20
代码如下:
```c
#include <stdio.h>
#define MAXSIZE 10 // 定义顺序表的最大长度
typedef struct {
int data[MAXSIZE]; // 存储数据的数组
int length; // 当前顺序表的长度
} SqList;
// 初始化顺序表
void initList(SqList *L) {
int i;
for (i = 0; i < MAXSIZE; i++) {
L->data[i] = 0; // 将所有元素初始化为0
}
L->length = 0; // 初始长度为0
}
int main() {
SqList L;
int i;
initList(&L); // 初始化顺序表
// 给顺序表赋值
for (i = 0; i < MAXSIZE; i++) {
L.data[i] = i + 1;
L.length++;
}
// 输出顺序表中的元素
for (i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
return 0;
}
```
相关问题
使用c语言定义并初始化一个顺序表
在 C 语言中,可以通过结构体来定义一个顺序表,具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100 // 定义顺序表的最大长度
typedef struct {
int data[MAXSIZE]; // 存储数据元素
int length; // 当前长度
} SeqList;
// 初始化顺序表
void InitList(SeqList *L) {
for (int i = 0; i < MAXSIZE; i++) {
L->data[i] = 0;
}
L->length = 0;
}
// 在指定位置插入元素
int ListInsert(SeqList *L, int pos, int elem) {
if (pos < 1 || pos > L->length + 1) {
return 0; // 插入位置不合法
}
if (L->length >= MAXSIZE) {
return 0; // 顺序表已满
}
for (int i = L->length; i >= pos; i--) {
L->data[i] = L->data[i - 1];
}
L->data[pos - 1] = elem;
L->length++;
return 1;
}
// 删除指定位置的元素
int ListDelete(SeqList *L, int pos) {
if (pos < 1 || pos > L->length) {
return 0; // 删除位置不合法
}
for (int i = pos; i < L->length; i++) {
L->data[i - 1] = L->data[i];
}
L->length--;
return 1;
}
// 打印顺序表中的元素
void PrintList(SeqList L) {
for (int i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
}
int main() {
SeqList L;
InitList(&L);
ListInsert(&L, 1, 1);
ListInsert(&L, 2, 2);
ListInsert(&L, 3, 3);
printf("原始顺序表:");
PrintList(L); // 原始顺序表:1 2 3
ListDelete(&L, 2);
printf("删除第二个元素后的顺序表:");
PrintList(L); // 删除第二个元素后的顺序表:1 3
return 0;
}
```
以上代码实现了顺序表的基本操作,包括初始化、插入元素、删除元素和打印顺序表中的元素。在主函数中,首先通过 `InitList` 函数初始化了一个顺序表,然后通过 `ListInsert` 函数向顺序表中插入三个元素,最后通过 `PrintList` 函数打印出顺序表中的元素。接着调用 `ListDelete` 函数删除了第二个元素,再次通过 `PrintList` 函数打印出删除后的顺序表中的元素。
c语言利用随机函数初始化一个长度为10的顺序表
以下是一个例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_LEN 10
int main() {
int i, j, temp;
int arr[MAX_LEN];
srand(time(NULL)); // 初始化随机数种子
// 生成随机数并赋值给数组
for (i = 0; i < MAX_LEN; i++) {
arr[i] = rand() % 100; // 生成0-99之间的随机数
}
// 输出原数组
printf("原数组:\n");
for (i = 0; i < MAX_LEN; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 冒泡排序
for (i = 0; i < MAX_LEN - 1; i++) {
for (j = 0; j < MAX_LEN - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的数组
printf("排序后的数组:\n");
for (i = 0; i < MAX_LEN; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
运行结果:
```
原数组:
24 82 32 15 70 28 1 54 86 24
排序后的数组:
1 15 24 24 28 32 54 70 82 86
```