数据结构-顺序表的基本操作
编译器使用的是 VC++6.0
- 创建和输出顺序表
- 顺序表插入
- 顺序表查询
- 顺序表删除
- 顺序表排序
- 顺序表有序插入
- 删除X到Y之间的元素
#include "stdio.h"
#define listSize 20 //默认表容量20
typedef int List;
typedef struct {
List data[listSize]; //数组data用于存放表节点
int length; //表节点的长度(节点数)
} SeqList;
//输出顺序表 OK
void printList(SeqList *list, int n) {
int i;
printf("The list is: ");
for (i = 0; i < n; i++) {
printf("%4d", list->data[i]);
}
}
//新建顺序表和显示 OK
void createAndShowList(SeqList *list, int n) {
int i;
printf("Please input elements(CreateAndShow): ");
list->length = n;
for (i = 0; i < n; i++) {
scanf("%d", &list->data[i]);
}
printList(list, n);
}
//查找元素 OK
int selectElem(SeqList *list, List selectNum) {
int i;
for (i = 0; i < (*list).length - 1; i++) {
if ((*list).data[i] == selectNum) {
return i + 1;
}
}
return -1;
}
//插入元素 OK
void insertElem(SeqList *list, List num, int position) {
int flag,i;
if ((*list).length > listSize) {
printf("溢出\n");
} else if ((position < 1) || (position > (*