線性表基本操作演算法

2021-10-24 19:32:02 字數 2751 閱讀 8499

//通過順序表實現

#include

#include

#define max_size 10;

typedef

struct

sqlist;

void

main()

}while

(cord>=

1&&cord<=5)

;}void

create_sqlist

(sqlist &l)

l.n=i;

//因為每次放入乙個元素後,i加了1,所以i的值就是順序表的長度

}void

insert_sqlist

(sqlist &l,

int i,

int e)

//當輸入的i小於0或大於順序表最大長度時,無法插入

if(l.max_size==l.n)

//當儲存空間滿時,無法插入

for(j=l.n-

1;j>=i;j--

)l.elem[j+1]

=l.elem[j]

;//將第i個元素以及之後的元素向後搬動乙個位置

l.elem[i]

=e; l.n++

;//將元素e插入到搬動後的第i個位置,並使順序表的實際長度加一

}void

delete_sqlist

(sqlist &l,

int i)

//當輸入的i小於0或大於順序表長度時,無法刪除

if(l.n==0)

for(j=i+

1;j)l.elem[j-1]

=l.elem[j]

; l.n--

;//將第i個元素後的所有元素向前搬動乙個位置,並使順序表實際長度減一

}void

search_sqlist

(sqlist &l,

int e)

else

continue

;//當該元素和所查詢的元素不相等時,迴圈繼續}if

(count==0)

printf

("元素%d不在順序表中\n"

,e);

//當計數器為0,即順序表中沒有查詢到該元素時,顯示該元素不在表中

}void

display_sqlist

(sqlist &l)

int i;

for(i=

0;i)printf

("%d "

,l.elem[i]);

//輸出順序表中的資料

printf

("\n");

}//通過鍊錶實現

#include

#include

typedef

struct lnode

lnode,

*node;

void

main()

}while

(cord>=

1&&cord<=5)

;}void

create_linklist

(node h)

}void

insert_linklist

(node h,

int i,

int e)

//當輸入的i小於0或大於鍊錶長度+1時,無法插入

node p;

p=h;

//建立掃瞄指標p並初始化

node insertnode;if(

!(insertnode=

(node)

malloc

(sizeof

(lnode)))

)exit(-

1); insertnode->elem=e;

insertnode->next=

null

;//建立乙個結點,並把要插入的元素放入到這個結點的數值域中

while

(i>0)

//移動掃瞄指標,使其指向第i-1個元素

insertnode->next=p->next;

p->next=insertnode;

//使e插入到第i個元素的前面

}void

delete_linklist

(node h,

int i)

//當輸入的i小於0或大於鍊錶長度n-1時,無法刪除

node p;

p=h;

//建立掃瞄指標p並初始化

node t;

while

(i>0)

//移動掃瞄指標,使其指向第i-1個元素

t=p->next;

//指標t用於暫時指向被刪除的結點

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

free

(t);

//釋放被刪除的結點的儲存空間

}void

search_linklist

(node h,

int e)

p=p->next;

pos++;}

if(count==0)

printf

("元素%d不在鍊錶中\n"

,e);

}void

display_linklist

(node h)

printf

("\n");

}int

len_linklist

(node h)

return count;

}

線性表基本操作

線性表基本操作,暑假把大一的 練習一遍。多多指教,謝謝 include include define true 1 define false 0 define ok 1 define error 0 define overflow 1 define list init size 100 typede...

線性表基本操作

線性表的基本操作,靜態分配實現 include include using namespace std define maxsize 50 typedef int elemtpye 靜態分配 typedef structsqlist 動態分配 插入元素,i代表插入的位置,從0開始 bool list...

線性表基本操作

程式名稱 線性表 編譯環境 vc 6.0 作者相關 最後修改 2019.5.10 學習目標 1.如何建立線性表 2.掌握線性表的基本操作 初始化 判斷空表 獲取某位置元素 插入 刪除元素 清空表 合併 輸出 常見錯誤 1.if後有兩條或兩條以上語句時,要加括號 2.return的使用,用在不恰當的地...