今天,我们来说顺序表,也就是我们口中的数组,今天不提及太多的理论知识,直接上代码!
输入元素
void input(int arr[],int len){
//定义循环变量
int i;
int *p=arr;
for(i=0;i<len;i++){
printf("请输入第%d个元素",i+1);
scanf("%d",&arr[i]);
}
}
输出元素
void output(int arr[],int len){
//定义循环变量
int i;
int *p=arr;
for(i=0;i<len;i++){
printf("%d",arr[i]);
}
}
查询元素
//根据元素的值去找
int fun(int arr[],int len,int value){
int i;
for(i=0;i<len;i++){
if(value==arr[i]){
return i;
}
}
return -1;
}
//根据下标 查找元素
int fun(int arr[],int len,int key){
//判断 位置 是否在数组范围之内
if(key<0||key>len-1){
printf("位置不对");
return;
}
printf("查找的元素是:%d\n",arr[key]);
}
动态生成数组
int * getArray(){
int i,*p,num;//p指向 动态数组的首地址
printf("请输入你要生成的数组长度是:");
scanf("%d",&num);
p=(int *)malloc(sizeof(int)*num);
if(p==NULL){
printf("空间申请失败");
return;
}
return p;
}
修改元素
void fun(int arr[],int len,int value){
int first,last,i;
printf("请输入你要修改的元素:");
scanf("%d",&first);
printf("请输入你要修改后的元素:");
scanf("%d",&last);
for(i=0;i<len;i++){
if(arr[i]==first){
arr[i]=last;
}
}
}
//根据位置修改
void fun(int arr[],int len){
int key;
printf("请输入要修改的位置:");
scanf("%d",&key);
if(key<0||key>len-1){
printf("位置不对");
return;
}
arr[key]=value;
}
插入元素
void fun(int a[],int len,int value){
int i,t;
if(index<0||index>len-1){
return;
}
for(i=len-1;i>=index;i--){
a[i+1]=a[i];
}
a[index]=value;
(*len)++;
}
删除元素
void fun(int a[],int* len,int index){
int i;
if(index<0||index>*len-1){
return;
}
for(i=index;i<len-1;i++){
a[i]=a[i+1];
}
(*len)--;
}
感谢大家观看指导!