殇雪️️️️️ 2021-07-18 16:43 采纳率: 50%
浏览 31
已结题

顺序表的删除有点小问题

顺序表的删除并没有看到delete操作,一般都是直接赋值,就比如删除值x,一般就是找到值,在把后面的元素往前移动,那么原来位置的元素呢?感觉进了个死角,怎么也想不明白

  • 写回答

2条回答 默认 最新

  • 殇雪️️️️️ 2021-07-18 19:14
    关注

    数组在进行赋值时会将原来的数据进行覆盖,在数组中删除数据时会进行位置移动,在移动数据的同时同时会覆盖原位置的数据,所以在数组中不用用delete来特意删除。

    #include <stdio.h>
    #include <stdlib.h>
    int main() {
    int a[]={1,6,4,6,8,6,9,6};
    int delect=0;
    int i=0,k=0;
    int n;
    n=sizeof(a)/sizeof(int);
    printf("%d\n",n);
    
    a[6]=100;
    for(i=0; i<n;i++){
            printf("a[%d]:= %d \n", i, a[i]);
    }
            return 0;
        }
    

    img
    a[6]重新赋值后原来数据直接由9变成100.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月18日
  • 已采纳回答 7月18日
  • 创建了问题 7月18日