線性表基本操作

2021-09-22 12:44:36 字數 1871 閱讀 2749

程式名稱:線性表

編譯環境:vc++6.0

作者相關:。。。

最後修改:2019.5.10          

學習目標:1.如何建立線性表

2.掌握線性表的基本操作:初始化、判斷空表、獲取某位置元素、插入、刪除元素、清空表、合併、輸出

常見錯誤: 1.if後有兩條或兩條以上語句時,要加括號

2.return的使用,用在不恰當的地方會立即中斷程式的執行

#include "stdio.h"

#define maxsize 20

#define ok 1

#define error 0

typedef int elemtype;

typedef bool status;

typedef struct

sqlist;

//函式宣告

void initlist(sqlist *l);

status listempty(sqlist l);

status clearlist(sqlist *l);

status getelem( sqlist l, int i, elemtype *e );

int locateelem( sqlist l, elemtype e );

status listinsert( sqlist *l, int i, elemtype e );

status listdelete( sqlist *l, int i, elemtype *e );

int listlength(sqlist l);

void outlist(sqlist l);

void unionl( sqlist *la, sqlist lb );

//main函式

int main()

//子函式

void initlist(sqlist *l)

status listempty(sqlist l)

status clearlist(sqlist *l)

status getelem( sqlist l, int i, elemtype *e )

if(i<1||i>l.length)

*e=l.data[i-1];

return ok;

}int locateelem( sqlist l, elemtype e )

for(i=0;ilength==maxsize)

if(i<1||i>l->length+1)

int k=0;

for(k=l->length;k>=i;k--)

l->data[k]=l->data[k-1];

l->data[i-1]=e;

++l->length;

return ok;

}status listdelete( sqlist *l, int i, elemtype *e )

if(i<1||i>l->length)

printf("the value of 'i' is illegal!\n");

*e=l->data[i-1];

int k;

for(k=i;klength;k++)

l->data[k-1]=l->data[k];

--l->length;

return ok;

}int listlength(sqlist l)

//輸出線性表

void outlist(sqlist l)

la->length+=lb.length;

}}

線性表基本操作

線性表基本操作,暑假把大一的 練習一遍。多多指教,謝謝 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...

線性表基本操作

今天開始重新複習資料庫,從基礎的開始 include define maxsize 20 typedef bool status typedef int elemtype typedef struct elemtype data maxsize int length sqlist 定義線性表的資料結...