#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #define MAXSIZE 30 struct SqList { int datas[MAXSIZE]; int length; }; typedef struct SqList SqList; SqList* init_SqList() { SqList* L = (SqList*)malloc(sizeof(SqList)); L->length = 0; return L; } //建立顺序表L void creat_Sq(SqList* L) { int x; int j; //按要求建立顺序表 //printf("按要求输入顺序表初始时的元素,以-32764结束:\n"); scanf("%d", &x); j = 0; while (x != -32764) { L->datas[j] = x; L->length++; j++; scanf("%d", &x); } } //插入操作 int ListInsert_Sq(SqList* L, int i, int e) { //务必看清楚使用的是C语言还是C++ //在顺序表L(一定不为空)的第i个位置前插入一个新的元素e \ //注意i是位置而不是下标喔 //若i不在1到L->length的范围内返回结果0,否则为1 } //输出顺序表 void PRINT(SqList* L) { int i; //printf("顺序表的当前值为:\n"); for (i = 0; i < L->length; i++) printf("%d ", L->datas[i]); printf("\n"); } int main() { int i; int x; //初始化顺序表 SqList* L = init_SqList(); creat_Sq(L); //printf("请输入待插入元素的位置i及元素的值x:"); scanf("%d", &i); scanf("%d", &x); if (ListInsert_Sq(L, i, x) == 0) { printf("%d", -1); } else { PRINT(L); } return 0; }
时间: 2024-04-04 20:29:15 浏览: 157
C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别
5星 · 资源好评率100%
这段代码是一个简单的顺序表的实现,包括初始化、建立、插入和输出等操作。其中,init_SqList() 函数用于初始化一个 SqList 结构体,并返回其地址;creat_Sq(SqList* L) 函数用于按要求建立顺序表 L;ListInsert_Sq(SqList* L, int i, int e) 函数用于在顺序表 L 的第 i 个位置前插入一个新的元素 e;PRINT(SqList* L) 函数用于输出顺序表 L 的当前值。在主函数中,先初始化顺序表,然后输入要插入的位置和值,最后调用 ListInsert_Sq() 插入元素,若插入失败返回 -1,否则输出顺序表的当前值。
阅读全文