#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct SqList{
int *Data;
int N;
int MaxSize;
};
struct SqList *create(int maxsize){
struct SqList *sq;
sq=(struct SqList *)malloc(sizeof(struct SqList));
sq->Data=(int *)malloc(sizeof(int)*maxsize);
sq->N=0;
sq->MaxSize=maxsize;
}
void show(struct SqList *sq){
for(int i=0;i<sq->N;i++){
printf("%d\t",sq->Data[i]);
if((i+1)%10==0){
printf("\n");
}
}
printf("\n");
}
void Sq_insert(struct SqList *sq,int num){
if(sq->MaxSize==sq->N){
printf("List is full\n");
return;
}
sq->Data[sq->N]=num;
sq->N++;
}
int location(struct SqList *sq,int num){/*定位*/
int re=-1;
for(int i=0;i<sq->N;i++){
if(sq->Data[i]==num){
re=i;
break;
}
}
return re;
}
int _delete(struct SqList *sq,int num){/*删除元素*/
if(sq->N==0){
printf("List is empty\n");
return 0;
}
int index= location(sq,num);
if(index==-1){
printf("This num does not exist\n");
return 0;
}
if(index==sq->N-1){/*检测最后一个值*/
sq->N--;
return 1;
}
for(int i=index;i<sq->N -1;i++){
sq->Data[i]=sq->Data[i+1];
}
sq->N--;
return 0;
}
int main(){
srand((int)time(NULL));
struct SqList *sq;
sq=create(100);
for(int i=0;i<100;i++){
int temp=rand()%100+100;
Sq_insert(sq,temp);
}
show(sq);
for(int i=0;i<sq->N;i++){
while(sq->Data[i]%2==0){
int temp=sq->Data[i];
int re=_delete(sq,temp);
if(re){
break;
}
}
}
show(sq);
return 0;
}
随机生成100个整数存入一个顺序表,整数范围在[100,200)之间,输出表中所有元素;然后去掉其中所有的偶数,输出表中所有元素。(C语言)
最新推荐文章于 2022-12-26 15:43:04 发布