#include<stdio.h> #define MAX 100//定义顺序表的最大值 //顺序表的定义 typedef struct { int l[MAX]; int size;//顺序表的长度 }sequence_list; //函数功能:顺序表的初始化——置空表 //函数参数:指向sequenc_list型变量的指针head //函数返回值:空 //文件名:sequenc_list.h 函数名:Slt_init void Slt_init(sequence_list*head) { head->size=0; } //函数功能:在顺序表尾部进行插入 //函数参数:指向sequenc_list型变量的指针head,int类型的插入数据num //函数返回值:空 //文件名:sequenc_list.h 函数名:Slt_append void Slt_append(sequence_list*head,int num) { if(head->size==MAX) printf("FULL "); else { head->l[head->size]=num; head->size++; } } //函数功能:打印顺序表的各个节点 //函数参数:指向sequenc_list型变量的指针head //函数返回值:空 //文件名:sequenc_list.h 函数名:Slt_display void Slt_display(sequence_list*head) { int i; if(head->size<1) printf("EMPTY "); else { for(i=0;i<head->size;i++) printf("%5d",head->l[i]); } printf(" "); } //函数功能:判断顺序表是否为空 //函数参数:指向sequenc_list型变量的指针head //函数返回值:int类型:1为空,0为非空 //文件名:sequenc_list.h 函数名:Slt_empty int Slt_empty(sequence_list*head) { return head->size?0:1; } //函数功能:查找顺序表值为num的节点位置 //函数参数:指向sequenc_list型变量的指针head,int类型的查找数据num //函数返回值:int 类型,成功返回位置,失败返回-1 //文件名:sequenc_list.h 函数名:Slt_find int Slt_find(sequence_list*head,int num) { int i=0; while(i<head->size&&head->l[i]!=num)i++; return i<head->size?i:-1; } //函数功能:取得顺序表中相应位置的值 //函数参数:指向sequenc_list型变量的指针head,int类型的位置pos //函数返回值:int 类型,成功返回顺序表中相应位置的值 //文件名:sequenc_list.h 函数名:Slt_init int Slt_get(sequence_list*head,int pos) { if(pos<0||pos>=head->size) { printf("ERROR "); exit(1); } else return head->l[pos]; } //函数功能:顺序表的插入 //函数参数:指向sequenc_list型变量的指针head,int类型的位置pos // int类型的插入数据num //函数返回值:空 //文件名:sequenc_list.h 函数名:Slt_insert void Slt_insert(sequence_list*head,int pos,int num) { if(head->size==MAX)printf("FULL "); else if(pos<0||pos>head->size) printf("pos error "); else { int i; for(i=head->size-1;i>=pos;i--) head->l[i+1]=head->l[i]; head->l[pos]=num; head->size++; } } //函数功能:顺序表的删除操作 //函数参数:指向sequenc_list型变量的指针head,int类型的位置pos //函数返回值:空 //文件名:sequenc_list.h 函数名:Slt_del void Slt_del(sequence_list*head,int pos) { int i; if(head->size==0) { printf("EMPTY "); exit(1); } else if(pos<0||pos>=head->size) { printf("not found "); exit(1); } else { for(i=pos;i<head->size-1;i++) head->l[i]=head->l[i+1]; head->size--; } } //函数功能:顺序表的倒置 //函数参数:指向sequenc_list型变量的指针head //函数返回值:空 //文件名:sequenc_list.h 函数名:Slt_reverse void Slt_reverse(sequence_list*head) { int i,temp,len=head->size; for(i=0;i<len/2;i++) { temp=head->l[i]; head->l[i]=head->l[len-i-1]; head->l[len-i-1]=temp; } } int main() { return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。