• C语言顺序表完整实现


    #include <stdio.h>
    #include <stdlib.h>
    #define ElementType int
    const int MAXSIZE = 100;
    typedef struct{
    	ElementType Data[MAXSIZE];
    	int Last;
    }List;//list在前面和后面效果是一样的 
    
    List *MakeEmpty();
    ElementType FindKth(int K, List *PtrL);
    int Find(ElementType X,List *PtrL);
    void Insert(ElementType X, int i, List *PtrL);
    void Delete(int i, List *PtrL);
    int Length(List *PtrL);
    void LPrint(List *PtrL){
    	for(int i = 0; i<PtrL->Last;i++)
    		printf("%d
    ",PtrL->Data[i]);
    }
    int main(){
    	List L,*PtrL;//访问下标为i的元素 L.Data[i]或Ptrl->Data[i] 
    				//线性表的长度:L.Last+1或Ptrl->Last+1 
    				
    	PtrL = MakeEmpty();
    	for(int i = 0; i< 10;i++){
    		Insert(i,i,PtrL);
    	}
    	Insert(15,5,PtrL);
    	LPrint(PtrL);
    	Delete(5,PtrL);
    	LPrint(PtrL);
    	return 0;
    }
    //初始化,建立空的顺序表 
    List *MakeEmpty(){
    	List *PtrL;
    	PtrL = (List *)malloc(sizeof(List));
    	PtrL->Last=0;
    	return PtrL;
    }
    ElementType FindKth(int K, List L){//查找第K个元素
    	return L.Data[K-1];
    }
    int Find(ElementType X,List L){
    	List *PtrL = &L;
    	int i = 0;
    	for(i =0;i<=PtrL->Last;i++)
    		if(PtrL->Data[PtrL->Last]==X)
    			break;
    	if(i>PtrL->Last)
    		return -1;
    	else
    		return i;
    } 
    void Insert(ElementType X, int i, List *PtrL){//按第i个位置处理 ,L.Data[i-1]上插入 ;第一个元素是L.last[L.last+1] 
    	if(i<1||i>PtrL->Last+2){
    		printf("插入位置不合理
    ");
    		return;
    	}
    	
    	for (int j = PtrL->Last;j>=i-1;j--)
    		PtrL->Data[j+1]=PtrL->Data[j];
    	PtrL->Data[i-1]=X;
    	PtrL->Last++;
    	return; 
    }
    void Delete(int i, List *PtrL){//按第i个位置处理 ,删除L.Data[i-1];最后一个元素为L.Data[L.last] 
    	if(i<1||i>PtrL->Last){
    		printf("删除位置不合理
    ");
    		return;
    	}
    	int j;
    	for(j=i;j<PtrL->Last;j++)
    		PtrL->Data[j-1]=PtrL->Data[j];
    	PtrL->Last--;
    } 
    int Length(List *PtrL){
    	return PtrL->Last+1;
    } 
    

      

  • 相关阅读:
    IOS手机 html5页面 数字变成蓝色链接的原因
    html5预加载图片的写法
    jquery取消绑定的方法
    CSS3幸运大转盘最简单的写法
    深度搜索应用之黑白图像(非递归)
    springday03-go1
    springday02-go4
    spring day02-go3
    springday02-go2
    spring da-y02-go1
  • 原文地址:https://www.cnblogs.com/zangkuo/p/6139795.html
Copyright © 2020-2023  润新知