編寫一個完整程序,使用順序表實現如下任務

(1)產生50個1~100的隨機整數,將其中偶數依次保存在順序表中
(2)輸出順序表的全部元素,並求順序表的長度
(3)在指定位置i處插入一個1~100隨機整數
(4)刪除順序表中值爲i或者指定位置I的節點
(5)將順序表升序排列排序

#include<stdio.h>
#include<stdlib.h>
#define maxSize 100
typedef int elemtype;
typedef struct {
elemtype data[maxSize];
int size;
}seqlist;
seqlist *create_seqlist();
void print_seqlist(seqlist *l);
int insert_seqlist(seqlist *l,int i);
void delet_seqlist(seqlist *l);
void sort_seqlist(seqlist *l);io

seqlist *create_seqlist()
{
int i;
seqlist *l=(seqlist *)malloc(sizeof(seqlist));
if(l==NULL)
return l;
l->size=-1;
for(i=0;i<50;i++)
{
elemtype a=rand()%99+1;
if(a%2==0)
l->data[++l->size]=a;
}
return l;
}class

void print_seqlist(seqlist *l)
{
int i;
for(i=0;i<=l->size;i++)
printf("%d ",l->data[i]);
printf("\n鏈表長度爲:%d\n",l->size+1);

}select

int insert_seqlist(seqlist *l)
{
int i;
printf("\n請選擇要插入的位置:");
scanf("%d",&i) ;
if(i>l->size+1)
return 0;
int x=l->size;
for(;x+1>i;x--)
l->data[x+1]=l->data[x];
l->data[i]= rand()%99+1;
return 1;
}
void delet_seqlist(seqlist *l)
{
int n=l->size;
int select;
int x=0,i;
do{
printf("請選擇刪除方式:\n");
printf("0.不刪除\t1.刪除指定值\t2.刪除指定位置\n");
scanf("%d",&select);
if(select==1)
{
printf("請選擇要刪除的值:");
scanf("%d",&i);
while(i!=l->data[x]&&x<=l->size) x++;

if(x==l->size+1)
printf("\n該值不存在!刪除失敗!\n");
if(x!=l->size+1)
printf("\n刪除成功!\n");
for(;x<n;x++)
l->data[x]=l->data[x+1];
print_seqlist(l);
}
else if(select==2)
{鏈表

printf("請選擇要刪除的位置:");
scanf("%d",&i);
if(i>l->size+1)
printf("位置有誤!刪除失敗!");
else
printf("\n刪除成功!\n");
print_seqlist(l);


}
else if(select==0);
else
printf("輸入選項有誤,請從新輸入!");
}while(select!=0);
}sort

 

void sort(seqlist *l)
{
int i=0,j=0;
int size=l->size;
int temp;
for(i=0;i<size;i++)
{
for(j=0;j<size-i;j++)
{
if(l->data[j]>l->data[j+1])
{
temp=l->data[j];
l->data[j]=l->data[j+1];
l->data[j+1]=temp;
}
}
}
printf("升序排序以下:\n");
print_seqlist(l);
}
int main()
{
int i,result;
seqlist *l;
l=create_seqlist();
print_seqlist(l);
result=insert_seqlist(l);
if(result==1)
printf("插入成功!\n");
else
printf("插入失敗!\n");
print_seqlist(l);
delet_seqlist(l);
sort(l);di



}while

相關文章
相關標籤/搜索