zoukankan      html  css  js  c++  java
  • 【数据结构C实现】1.顺序表实现

    #include <stdio.h>
    #include<malloc.h>
    #define INIT_SIZE 100
    #define LIST_INCRE 10
    struct SqList{
    	int* pElem;
    	int length;
    	int listsize;	
    };
    typedef struct SqList SqList;
    SqList L;
    int init_SqList(SqList &L){
    	L.pElem=(int*)malloc(INIT_SIZE*sizeof(int));
    	L.length=0;
    	L.listsize=INIT_SIZE;
    	return 0;
    }
    int destroy_SqList(SqList &L){
    	free(L.pElem);
    	L.length=0;
    	L.listsize=0;
    }
    int clear_SqList(SqList &L){
    	L.length=0;
    	free(L.pElem);
    }
    int insert_SqList(SqList &L,int i,int data){
    	if(i<0 || i>L.length) exit(-1);
    	if(L.length>=L.listsize){
    		L.pElem=(int*)realloc(L.pElem,L.listsize+LIST_INCRE);
    	}
    	int* p=L.pElem+L.length-1;
    	int* q=L.pElem+i;
    	for(;p>=q;p--){
    		*(p+1)=*(p);
    	}
    	*q=data;
    	L.length++;
    	return 0;
    		
    }
    int delete_SqList(SqList &L,int i){
    	if(i<0 || i>L.length-1) exit(-1);
    	int* p=L.pElem+i;
    	int* q=L.pElem+L.length-1;
    	while(p<q){
    		*p=*(p+1);
    		p++;
    	}
    	L.length--;
    }
    int show_SqList(SqList &L){
    	if(L.length==0) {
    		printf("链表为空\n");
    		return 0;
    	}
    	int* p=L.pElem;
    	int* q=L.pElem+L.length-1;
    	while(p<=q){
    		printf("%d ",*p);
    		p++;
    	}
    	printf("\n");
    	return 0;
    	
    	
    }
    int isEmpty_SqList(SqList &L){
    	if(L.length==0) return 1;
    	else return 0;
    }
    int main(int argc, char *argv[])
    {
    	init_SqList(L);
    	insert_SqList(L,0,34);
    	insert_SqList(L,0,43);
    	insert_SqList(L,0,1);
    	
    	show_SqList(L);
    	
    	delete_SqList(L,1);
    	show_SqList(L);
    	
    	clear_SqList(L);
    	show_SqList(L);
    	return 0;
    }
    

  • 相关阅读:
    NTP服务安装
    Teambition 的使用
    搭建svn服务器和测试
    通过NTP协议进行时间同步
    转利用OpenSSL库对Socket传输进行安全加密(RSA+AES)
    转源码编译安装MySQL5.6.12详细过程
    CentOS 6.4安装ffmpeg2.4.2 支持h.265
    转:CentOS 6.4 64-bit编译安装ffmpeg
    Work 2013 博客园挂博客
    FLASH和EEPROM的最大区别
  • 原文地址:https://www.cnblogs.com/wuhayaoshenmeai/p/3361882.html
Copyright © 2011-2022 走看看