• 线性表的顺序存储结构C语言版


    #include <stdio.h>
    
    #define MAXSIZE 101
    #define N 10
    
    typedef struct SeqList
    {
    	int data[MAXSIZE];
    	int length;
    }SeqList;
    
    void  initList(SeqList *L);
    int Listinsert(SeqList *L, int index, int e);
    int Listdelete(SeqList *L, int index, int *e);
    void printList(SeqList L);
    
    int main(void)
    {
    	SeqList L;
    	int e;
    	initList(&L);
    	for (int i = 1; i <N; ++i)
    	{
    		Listinsert(&L,i,i);
    	}
    	printList(L);
    	printf("
    ======
    ");
    	for(int i=L.length;i>=1;--i)
    	{
    		Listdelete(&L,i,&e);
    		printf("%d	", e);
    	}
    	putchar(10);
    
    	return 0;
    }
    
    void initList(SeqList *L)
    {
    	L->length = 0;
    }
    
    int Listinsert(SeqList *L, int index, int e)
    {
    	if(L->length== MAXSIZE) return -1;
    	if(index<=L->length+1  && index>=1)
    	{
    		if(index==L->length+1) 
    		{
    				L->data[L->length+1] = e;
    				L->length += 1;
    		}
    		else
    		{
    			for (int i = L->length; i >= index ; --i)
    			{
    				L->data[i+1] = L->data[i];
    			}
    			L->data[index] = e;
    			L->length  += 1;	
    		}
    		
    		return 0;
    	}
    	return -1;
    
    }
    
    int Listdelete(SeqList *L, int index, int *e)
    {
    	if(index>L->length) return -1;
    	*e = L->data[index];
    	for(int i=index;i<=L->length;i++)
    	{
    		L->data[i] = L->data[i+1];
    	}
    	L->length -= 1;
    	return 0;
    }
    void printList(SeqList L)
    {
    	for (int i = 1; i <= L.length; ++i)
    	{
    		printf("%d	", L.data[i]);
    	}
    }
    
    

  • 相关阅读:
    DLS的迷茫
    DFS系统
    前辈的一次培训
    BAV99 开关二极管
    学习射频IC卡 MFRC522,入手了一块板子
    Olink出新版本了 兼容JlinkV8 带串口功能
    Keil中慎用Printf()
    Keil : Cannot enter Debug Mode解决方法:
    热敏打印机应用笔记
    MFRC522 晶震不起震
  • 原文地址:https://www.cnblogs.com/yldf/p/11900153.html
Copyright © 2020-2023  润新知