資料結構線性表(1)

2021-10-08 08:45:55 字數 1549 閱讀 2692

1.建立順序表

int sqlist[maxsize];

int length;

int createlist(int sqlist,int &length)

1.1在順序表p的位置插入元素e

int sqlist[maxsize]=;

int length=n;

int insert(int sqlist,int &length,int p,int e)

1.2刪除元素

int deleteelm(int sqlist,int &length,int p,int &e)

lnode;//定義鍊錶結點

void creatlinklistr(lnode *&head)

}

2.2頭插法

typedef struct lnode

lnode;//定義鍊錶結點

void creatlinklistr(lnode *&head)

}

3.鍊錶的刪除某個結點

對於鍊錶而言,就很簡單

q=p->next;//刪除p的後繼結點

p->next=p->next->next;

free(q);

4.表的逆置

假設將陣列a[1,2,3,4,5,6]逆置為a[6,5,4,3,2,1]

對於順序表而言,基本思想就是乙個for迴圈

for(int i=left,j=right;i而對於鍊錶來說,逆置p->next到q之間的結點

while(p->next!=q)//p指向鍊錶中q前面的某個結點,q指向鍊錶中某乙個結點

5.表的取最值

加入取最大值,對於順序表來說

int max=a[0]

int maxind=0;

for (int i=0;i對於鍊錶而言

lnode *p,*q;

int max=head->next->data;

q=p=head->next;//p指標用來掃瞄鍊錶,q指標用來標記當前已得最大值的鍊錶

while(p!=null)

p=p->next;//p指標掃瞄鍊錶

}

6.表的歸併

對於順序表來說

void merge(int a,int m,int b,int n,int c)

else

}if(p!=null)

r->next=p;

if(p!=null)

r->next=q;

}

7.表的劃分

將順序表中的元素以某個數為界限劃分為左右兩個部分

void partition(int a,int n)

while(iif(i}

a[i]=temp;

}

資料結構線性表1

include include include struct arr 定義了乙個資料型別,該資料型別的名字是struct arr void init arr struct arr parr,int length bool insert arr struct arr parr,int pos,int ...

資料結構 線性表1

一 線性表 定義 由零個或多個資料元素組成的有限序列。強調 1 線性表是乙個序列,也就是說元素之間是有先來後到的 2 若元素存在多個,則第乙個元素無前驅,最後乙個元素無後繼,其他元素都有且只有乙個前驅和後繼 3 線性表是有限的,即他能夠處理的元素是有限的 舉列 請問公司的組織架構是否屬於線性關係?答...

資料結構 1 線性表

線性表的順序儲存結構指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。int getelem sqlist l,int i,elemtype e e l.data i 1 return 1 插入演算法思路 1.如果插入的位置不合理,丟擲異常。2.如果線性表的大小大於等於陣列長度,則丟擲異常或動...