- 方式1:
- 根据顺序表中
数据元素的位置
进行修改,代码如下:
- 示例代码:
int modify_seq_list_1(list_t *seq_list,int pos, int data){
if(NULL == seq_list){
printf("入参为NULL\n");
return -1;
}
if( pos < 0 || pos >= seq_list->count){
printf("修改位置不合理,修改失败\n");
return -1;
}
seq_list->a[pos].num = data;
return 0;
}
- 注意事项:
- 1.形参传入到具有修改数据元素功能的函数后,需要做
入参合理性检查
;
- 2.判断所要修改数据元素的
位置在顺序表中是否合理
,if条件语句内容和任意位置删除功能函数一致;
- 方式2:
- 根据顺序表中
数据元素的值
进行修改,代码如下:
- 示例代码:
int modify_seq_list_2(list_t *seq_list,int data1, int data2){
if(NULL == seq_list){
printf("入参为NULL\n");
return -1;
}
int i = 0;
int count = 0;
while(i < seq_list->count){
if(seq_list->a[i].num == data1){
seq_list->a[i].num = data2;
count++;
}
i++;
}
if(0 == count){
printf("顺序表中无所要修改的值\n");
}
return 0;
}
- 注意事项:
- 1.同方式1,形参传入到具有修改数据元素功能的函数后,需要做
入参合理性检查
;
- 2.可以采用
while循环或者for循环
的方式找到所要修改数据元素的值后,将新值赋值于旧值
即可;
- 3.该函数中
定义的count变量
,用来记录
顺序表中有无所要修改的值
;