📄 _sqlist.c
字号:
#define maxsize 100
#include "stdlib.h"
#include<stdio.h>
#include "time.h"
typedef struct
{ int data[maxsize];
int last;
}sqlist;
void initiate( sqlist *sq1)
{ sq1->last=0; }
int get(sqlist la,int i)
{
if(i<1 || i>la.last || la.last==0)
printf("error");
else return la.data[i];
}
locate(sqlist sq1,int x)
{ int k,i;
k=0;i=1;
while (i<=sq1.last && !k)
if (sq1.data[i]==x) k=i;
else i++;
return k;
}
void setupsqlist ( sqlist *sq1)
{ int i,j;
for(i=1;i<=10;i++)
sq1->data[i]=rand()%100;
sq1->last=10;
}
void display(sqlist sq1)
{ int i;
for (i=1;i<=sq1.last;i++)
printf("%5d",sq1.data[i]);
}
void insert (sqlist *la, int i, int x)
{
if (i>=0 &&i<= la->last+1 && la->last<maxsize-1)
{
int j;
for ( j=la->last; j>=i ; j--)
la->data[j+1]=la->data[j];
la->data[i]=x;
la->last=la->last+1;
}
else
printf("%s","overflow!");
}
void delete(sqlist *la, int i)
{
if (i>=1 && i<=la->last)
{ int j;
for ( j=i+1; j<=la->last;j++)
la->data[j-1]=la->data[j];
la->last--;
}
else
printf("%s","error!");
};
void exch(sqlist *la)
{ int i,x;
for (i=1 ;i<= la->last / 2;i++ )
{ x=la->data[i];
la->data[i]=la->data[la->last-i+1];
la->data[la->last-i+1]=x ;
}
}
void exch1(sqlist *la)
{ int i,y;
for (i=1;i<=la->last;i++)
{ y=get (*la,1);
delete(la,1);
insert (la,la->last-i+2,y);
}
}
void main()
{
sqlist sq,*sq1=&sq;
initiate(sq1);
setupsqlist(sq1);
printf("\n\n\n");
display(sq);
insert(sq1,6,199);
printf("\n\n\n");
display(sq);
delete (sq1,8);
printf("\n\n\n");
display(sq);
exch(sq1);
printf("\n\n\n");
display(sq);
exch1(sq1);
printf("\n\n\n");
display(sq);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -