数组实现线性表的删除

来源:互联网 发布:水滴源码 编辑:程序博客网 时间:2024/06/05 15:08
//数组实现线性表的删除//思路: 删除第i个元素,及a[i-1],并使后面的元素前移。//实现,用数组定义线性表,新增一个空线性表存储删除后的线性表,遍历数组,当到删除位置时跳过,不赋值,达到删除的目的#include<stdio.h>int main(){    int a[100], b[100]; //定义两个数组作为线性表    int i, j; //循环参数    int m, n; //数组长度,和删除的位置    printf("请输入线性表长度及删除线性表的位置\n");    scanf("%d%d", &m, &n);    printf("初始化数组\n");    for(i=0; i<m; i++)//初始化数组        scanf("%d", &a[i]);    printf("删除前:\n");    for(i=0; i<m; i++)//输出删除前的线性表        printf("%d ", a[i]);    printf("\n");    for(i=0, j=0; i<m; i++)// 遍历a    {        if(i == n-1)//当到删除位置时跳过,不赋值,达到删除的目的            continue;        b[j++] = a[i];//赋值给b    }    printf("删除后:\n");    for(i=0; i<m-1; i++)//输出删除后的线性表        printf("%d ", b[i]);    return 0;}