1. 程式人生 > 遊戲攻略 >《血染鐘樓》讀心者能力及玩法技巧 血染鐘樓讀心者怎麼玩

《血染鐘樓》讀心者能力及玩法技巧 血染鐘樓讀心者怎麼玩

2022-04-04-16:59:28

什麼是線性表????

多項式表示問題啟示:

  1.同一個問題可以有不同的表示形式

  2.有一類共性問題:有序線性序列的組織和管理

線性表:由同類型資料元素構成有序序列的線性結構

  表中元素個數為線性表的長度

  線性表沒有元素時,為空表

  表起始位置為表頭,結束位置為表尾

/*1.初始化(建立空的順序表)*/
List MakeEmpty()
{    List PtrL;
     PtrL = (List)malloc(sizeof(struct LNode));
     PtrL->Last = -1;
     return PtrL;
}
/*2.查詢*/
int Find(ElementType X,List PtrL)
{    int i = 0;
     while(i <= PtrL->Last && PtrL->Data[i] != X)
         i++;
     if(i > PtrL->Last) return -1;/*如果沒有找到,返回-1*/
     else return i;/*找到後返回的是儲存位置*/
}
/*3.插入(第i(1<i<n+1)個位置上插入一個值X的新元素)*/
    /*先移動,在插入*/
void Insert(ElementType X,int i,List PtrL)
{    int j;
     if(PtrL->Last == MAXSIZE-1)
     {
     /*表空間已滿,不能插入*/
         printf("表滿");
         return;
     }
     if(i<1||i>PtrL->Last+2)
     {
     /*檢查插入位置的合法性*/
         print("位置不合法");
         return:
     }
     for ( j=PtrL->Last;j>=i+1;j--)
         PtrL->Data[j+1] = PtrL->Data[j];/*將i到n倒序向後移動*/
     PtrL->Data[i-1] = X;/*新元素插入*/
     PtrL->Last++;/*Last任指向最後元素*/
     return:        
}

/*4.刪除元素*/
viid Delete(int i,List PtrL){
    int j;
    if(i<1||i>Ptrl->Last+1){/**檢查空表及刪除位置的合法性/
        printf("不存在第d%個元素",i);
        return;
    }
    for(j = i;j<=PtrL->Last;j++)
        PtrL->Data[j-1]=PtrL->Data[j];/**將i+1到n順序向前移/
    PtrL->Last--;/**PtrL任指向最後元素/
    return;

}

線性表的鏈式儲存及實現:

       不要求邏輯上相鄰的兩個元素物理上也相鄰 

       插入刪除不需要移動資料元素

/*1.求表長*/
int Length(List PtrL)
{    List p = PtrL;/*p指向表的第一個結點*/
     int j = 0;
     while(p){
         p = p->Next;
         j++;/*當前p指向的是第j個結點*/
     }
     return j;

}