• 顺序表的操作(未完待续)


    #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;
    }
    

  • 相关阅读:
    工单相关函数
    ABAP 没有保存的长文本,如何取值
    小细节
    DEMO程序 排序
    ABAP 中的消息类型和处理方式
    那些 诡异的表格
    F4搜索帮助~出口函数
    使用XML的方式导出EXCEL
    更改销售订单某些字段和按钮 不可编辑
    ABAP-如何读取内表的字段名称
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4248793.html
Copyright © 2020-2023  润新知