zoukankan      html  css  js  c++  java
  • 顺序表的操作(未完待续)

    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    #define MAX 500    //宏定义方式定义符号常量    比较少用 
    const int maxlength=500;     //const定义常变量   比较常用 
    
    typedef struct elemtype{
    	char a[30];
    	int num;
    	int score;
    }elemtype;
    
    typedef struct sqList{
    	elemtype *elem;
    	int length;
    	int size;
    }sqList;
    
    void ErrorMessage(char *s)
    {
    	cout<<s<<endl;
    	exit(1);
    }
    //Init
     void InitList(sqList &L,int maxlength,int size)
    {
        L.elem = new elemtype[size];
        L.length = 0;
        L.size = maxlength;
    }
    
    //Find
    int Locate(sqList L,elemtype e)
    {
    	//查找指定元素在线性表中的位序 
    	int i = 0;
    	elemtype *p;
    	p = L.elem ;
    //	while( *p++ != e&& i <L.length  ) i ++;
    	if(i < L.length)
    		 return i+1;
        else
             return 0;
    }
    //Insert
    void Insert (sqList &L ,int i,elemtype e)
    {
    	//在线性表L的第i个元素之前插入新的元素
    	elemtype *p; 
    	elemtype *q ;
    	q = &(L.elem[i]);
    	if(i >= L.length ) ErrorMessage("i值不合法");
    	for( p = &(L.elem[L.length - 1]); p >= q; --p)  *(p + 1) = *p;  //p 和 q 加上*号代表元素,不加则代表位序 
    	*q = e;
    	++L.length;
    }
    
    //delete
    void Delete(sqList &L,int i,elemtype e)
    {
    	//在顺序线性表中删除第i个元素,并用e返回其值
    	 if(i < 0 || i >= L.length)  ErrorMessage("i值不合法!");
    	 elemtype *q,*p;
    	 p = &(L.elem[i - 1]);
    	 e = *p;
    	 for(++ p;p <= q;++ p) *(p-1) = *p;
    	 -- L.length ;
    }
    
    //destroy
    void Destroy(sqList &L)
    {
    	delete [] L.elem;
    	L.length = 0;
    	L.size = 0;
    }
    

  • 相关阅读:
    super关键字
    aspcms 留言 搜索
    aspcms标签
    随机添加一个Class,Class提前写好
    python实现进度条
    linux 下获取文件名的md5值
    linux下 批量压缩与批量解压
    linux下批量新建/删除 文件或目录
    python——pip导出导入安装包
    python Scrapy爬虫框架
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4248793.html
Copyright © 2011-2022 走看看