顺序表——顺序表倒置

今天练习的是顺序表倒置

#include 
#include 
/********************************/
/*顺序表的头文件,文件名sequlist.h*/
/********************************/
 #define MAXSIZE 100
 typedef int datatype;
 typedef struct{
   datatype a[MAXSIZE];
   int size;
 }sequence_list;


/**************************************************/
/*  函数功能:顺序表的初始化-置空表            */
/*  函数参数:指向sequence_list型变量的指针变量slt  */
/*  函数返回值:空                                */
/*  文件名:sequlist.c, 函数名:init()                  */
/***************************************************/
 void init(sequence_list *slt)
 {
   slt->size=0;
 }


/***************************************************/
/*  函数功能:在顺序表后部进行插入操作             */
/*  函数参数:指向sequence_list型变量的指针变量slt   */
/*            datatype类型的变量x                  */
/*  函数返回值:空                                 */
/*  文件名:seqlappe.c, 函数名:append()               */
/***************************************************/
 void append(sequence_list *slt,datatype x)
 {
   if(slt->size==MAXSIZE)
     {printf("顺序表是满的!");exit(1);}
   slt->a[slt->size]=x;
   slt->size=slt->size+1;
 }


/***************************************************/
/*  函数功能:打印顺序表的各结点值                 */
/*  函数参数:sequence_list型变量slt                 */
/*  函数返回值:空                                 */
/*  文件名:sequlist.c,  函数名:display()             */
/***************************************************/
 void display(sequence_list slt)
 {
   int i;
   if(!slt.size) printf("\n顺序表是空的!");
   else
   for(i=0;isize;i++)
    {
        t=slt->a[i];slt->a[i]=slt->a[slt->size-i-1];slt->a[slt->size-i-1]=t;
}
for(i=0;isize;i++)
printf("%5d",slt->a[i]);
}

int main()
{sequence_list L;
 datatype y;
 int i,j,n;
 init(&L);
 /*建表*/
 printf("请输入顺序表的结点个数:");  scanf("%d",&n); 
 printf("请输入顺序表的结点值:");
 for(j=1;j<=n;j++)
   {scanf("%d",&y);  append(&L,y);}
 display(L);
printf("倒置后的顺序表:\n");
invert(&L);
}

你可能感兴趣的:(c语言)