1. 程式人生 > >資料結構c語言版之順序表的刪除

資料結構c語言版之順序表的刪除

#include<stdio.h>  
#include<stdlib.h>  
#define MAX 100  
typedef struct  
{  
    int data[MAX];  
    int last;  
}seqlist;  
seqlist *init_seqlist()  
{  
    seqlist *L;  
    L=(seqlist *)malloc(sizeof(seqlist));  
    L->last=-1;  
    return L;  
}  
int delete_seqlist(seqlist *L,int i)
{
	int j;
	if(i<1||i>L->last+1)
	{
		printf("不存在第i個元素!");
		return 0;
	}
	for(j=i;j<=L->last;j++)
	{
		L->data[j-1]=L->data[j];
	}
	L->last--;
}  
int main()  
{  
    char c;  
    int i;  
    seqlist *L;  
    L=init_seqlist();  
    printf("請從鍵盤上輸入五個數:\n");   
    for(int i=0;i<5;i++)  
    {  
        c=getchar();  
        L->data[i]=c;  
        L->last++;  
        c=getchar(); //由於回車鍵會預設字元多以多加入了一個   
    }  
    delete_seqlist(L,3);//表示刪除第三個數 
    printf("刪除第三個數後為:\n");  
    for(int i=0;i<4;i++)//刪除後與之前比少了一個元素 
    {  
    printf("%c\n",L->data[i]);  
    }  
    return 0;  
}  
//本程式碼僅供參考