真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)結(jié)構(gòu)-線性表操作

#include      //c++頭文件
using namespace std;  
#define LIST_INIT_SIZE 20     //預(yù)定義常量
#define LISTINCREMENT 5
#define OK 1
#define ERROR 0
typedef int ElemType;              //定義類型
typedef int Status;
typedef struct                        //線性表結(jié)構(gòu)體定義
{
   ElemType *elem;
   int length;
   int listsize;
}SqList;

Status InitList_Sq(SqList &L)                        //創(chuàng)建空的線性表
{
   L.elem=new ElemType[LIST_INIT_SIZE];             //申請空間
   L.length=0;                                      //令表中數(shù)據(jù)長度為零
   L.listsize=LIST_INIT_SIZE;                       //將所申請的空間給予元素空間
   return OK;                         
}
Status CreateList_Sq(SqList &L,int n)                   //創(chuàng)建一個(gè)線性表
{
 int i;
 InitList_Sq(L);                                      //創(chuàng)建空表
 if(n>L.listsize)                                       //保證空間足夠
 {
   //續(xù)開辟空間
 }
    L.length=n;                                          
 cout<<"please input "<>L.elem[i];
 return OK;
}
Status OutputList_Sq(SqList L)                       //輸出線性表
{
  int i;
  cout<<"The list is:";
  for(i=0;iL.length+1)               //     (1)判斷插入元素下標(biāo)i的合法性(1---L.length+1)
   return ERROR;
  if(L.length>=L.listsize)            //判斷空間是否夠用
  {
    //續(xù)開辟空間
  }
  for(j=L.length-1;j>=i-1;j--)         //   (2)  下標(biāo)L.length-1----i-1的元素,后移一個(gè)位置
   L.elem[j+1]=L.elem[j];
  L.elem[i-1]=e;                       //     (3)      插入e(下標(biāo)i-1)
  L.length++;                           //    (4)       數(shù)據(jù)元素長度加一
  return OK;
}
Status ListDelete_Sq(SqList &L,int i,ElemType &e)                //刪除元素,并用e返回該數(shù)據(jù)
{
 int *p,*q;
   if(i<1||i>L.length)                                            //  (1)  判斷插入元素下標(biāo)i的合法性(1---L.length+1)
    return ERROR;
   p=&(L.elem[i-1]);                                              //   (2)      取第i個(gè)元素的地址,并用e取其中數(shù)據(jù)
   e=*p;
   q=L.elem+L.length-1;            //最后(表尾)元素的位置
   for(++p;p<=q;++p)
    *(p-1)=*p;                                                  //   (3)   元素依次左移
   --L.length;                                                     //    (4)      元素長度減一
   return e;
}

Status ListLength_Sq(SqList &L)             //求元素長度
{
 int i,p=0;
 for(i=0;iL.length)                                            
    return ERROR;
 else{ 
  p=&(L.elem[i-1]);
        e=*p;
 }
   return e;
}

Status DestroyList(SqList &L)                       //銷毀線性表
{
free(L.elem);                                       //釋放空間
L.elem=NULL;
L.length=0;
L.listsize=0;
cout<< "線性表已銷毀! "<            
            
                        
網(wǎng)站名稱:數(shù)據(jù)結(jié)構(gòu)-線性表操作
鏈接URL:http://weahome.cn/article/pcoopj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部