#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 10
typedef int Datatype;
typedef struct
{
Datatype buf[MAX];
int n;
}Sequence;
Sequence*create_empty_seqlite()
{
Sequence*l=NULL;
l=(Sequence*)malloc(sizeof(Sequence));
if(NULL==l)
{
printf("malloc fail\n");
return NULL;
}
bzero(l,sizeof(Sequence));
return l;
}
int is_full_Sequence(Sequence *l)
{
return l->n == MAX ? 1 : 0;
}
void insert_data_sequence(Sequence*l,Datatype data)
{
l->buf[l->n]=data;
l->n++;
return;
}
void printf_seqence_data(Sequence*l)
{
int i=0;
for(i=0;i<l->n;i++)
{
printf("%d ",l->buf[i]);
}
putchar('\n');
return;
}
void insert_data_assign(Sequence*l,int post,int data)
{
int set = post-1;
int last = l->n-1;
for(last;last>=set;last--)
{
l->buf[last+1]=l->buf[last];
}
l->buf[set]=data;
l->n++;
return;
}
void delete_data_sequence(Sequence*l,Datatype data)
{
int i=0,j=0;
for(i=0;i<l->n;i++)
{
if(l->buf[i] != data)
{
l->buf[j] = l->buf[i];
j++;
}
}
l->n--;
return;
}
void sort_data_sequence(Sequence*l)
{
int i=0,j=0;
int t =0;
for(i=0;i<l->n-1;i++)
{
for(j=0;j<l->n-1-i;j++)
{
if(l->buf[j]>l->buf[j+1])
{
t=l->buf[j+1];
l->buf[j+1]=l->buf[j];
l->buf[j] = t;
}
}
}
return;
}
int main(int argc, const char *argv[])
{
Sequence *l=NULL;
Datatype buf[]={10,20,30,40,50,60,70};
l=create_empty_seqlite();
int i = 0;
for(i=0;i<sizeof(buf)/sizeof(buf[0]);i++)
{
insert_data_sequence(l,buf[i]);
}
printf_seqence_data(l);
insert_data_assign(l,3,1);
printf_seqence_data(l);
delete_data_sequence(l,20);
printf_seqence_data(l);
sort_data_sequence(l);
printf_seqence_data(l);
return 0;
}
数据结构之顺序表复习
原创
©著作权归作者所有:来自51CTO博客作者XYG_XT的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:4412芯片---跑马灯小实验
下一篇:对数组名的理解
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【数据结构】C语言实现顺序栈
【数据结构】第三章——栈、队列和数组详细介绍通过C语言实现顺序栈
数据结构 C语言 顺序栈 -
【数据结构】详细剖析线性表
【数据结构】第二章——线性表(9)总结了线性表的基本知识点,并对循序表与链表进行了比较
数据结构 C语言 线性表 顺序表 链表 -
【数据结构——线性表之顺序表】
线性表之《顺序表的表示及基本操作的实现》
数据结构 算法 链表 顺序表 sql -
数据结构之"顺序表"
用c语言实现顺序表
顺序表 SQL 数据 -
数据结构考研复习(顺序表)
数据结构考研复习(顺序表)
顺序表 sql 删除元素 i++ 初始化