#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 20
typedef struct LNODE {
char list[MAXSIZE];
int listlen;//表的当前长度
}*List,L;
List newList();
void showList(List Ptrl);
void insert(List Ptrl, char x, int i);
void delete(List Ptrl, int i);
int main()
{
List L = newList();
int insertPlace;
char insertElem;
int deletePlace;
printf("列表初始化为:\n");
showList(L);
printf("\n");
//插入操作
printf("请给出两个数据,表示你要插入的数据与位置:\n");
scanf("%c%d", &insertElem, &insertPlace);
printf("插入前的数据为:\n");
showList(L);
printf("\n");
insert(L, insertElem, insertPlace);
printf("插入后的元素排列如下:\n");
showList(L);
printf("\n");
printf("\n");
//删除数据
printf("请给出你要删除的位置:\n");
scanf("%d", &deletePlace);
printf("删除前的数据为:\n");
showList(L);
printf("\n");
delete(L, deletePlace);
printf("进行删除操作后的元素列表为:\n");
showList(L);
printf("\n");
printf("\n");
return 0;
}
//初始化顺序表
List newList()
{
List Ptrl = (List)malloc(sizeof(L));
char arr[] = { 'a','j','c','n','i','y','d','u','\0' };
int i = 0;
Ptrl->listlen = 0;
while (arr[i] != '\0')
{
Ptrl->list[i] = arr[i];
Ptrl->listlen++;
i++;
}
return Ptrl;
}
void insert(List Ptrl, char x, int i)
{
int j;
if (i<0 || i>MAXSIZE)
{
printf("插入位置不对");
return;
}
if (Ptrl->listlen == MAXSIZE)
{
printf("表满\n");
return;
}
for (j = Ptrl->listlen - 1; j >= i; j--)
{
Ptrl->list[j] = Ptrl->list[j - 1];
}
Ptrl->list[j] = x;
}
//删除i位置的元素
void delete(List Ptrl, int i)
{
int j;
if (i<0 || i>MAXSIZE)
{
printf("删除位置不对\n");
return;
}
if (Ptrl->listlen == 0)
{
printf("空表\n");
return;
}
for (j = i - 1; j <= Ptrl->listlen - 1; j++)
Ptrl->list[j] = Ptrl->list[j + 1];
Ptrl->listlen--;
}
//显示当前表内容
void showList(List Ptrl)
{
int i;
for (i = 0; i < Ptrl->listlen; i++)
{
printf("%c", Ptrl->list[i]);
}
}
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
1.顺序表的实现——C语言
顺序表各种操作的代码实现
顺序表 冒泡排序 算法 随机数 -
顺序表的动态分配(C语言版)
顺序表的动态分配代码实录
顺序表 动态分配 C语言 -
顺序表..
#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct Vector { int* data; i
c语言 #define i++ #include -
线性表的顺序存储——顺序表
之前我们讲了线性表, 本篇来阐述下线性表的顺序存储——顺序表定义线性表的顺序存储又称为顺序表, 它
数据结构 算法 顺序表 数据 sql -
统一日志平台架构图
最近一段时间,配合新的商业模式,E网打进产品进行系统重构,由于客户量比较大,那么对应的数据量比较大,涉及的系统架构很复杂,对应的服务器也成倍的增加。服务器日志的收集和查看也变的比较麻烦,于是就在想是否可以把各个应用日志统一收集过来。  
统一日志平台架构图 应用服务器 log4j Hadoop 数据结构