6 2 順序表操作集 20 分

2021-09-29 16:27:33 字數 3110 閱讀 5775

本題要求實現順序表的操作集。

list makeempty()

; position find

( list l, elementtype x )

;bool

insert

( list l, elementtype x, position p )

;bool

delete

( list l, position p )

;其中list結構定義如下:

typedef

int position;

typedef

struct lnode *list;

struct lnode

;

各個操作函式的定義為:

l is

tmak

eemp

ty()

list makeempty()

listma

keem

pty(

):建立並返回乙個空的線性表;

p os

itio

nfin

d(li

stl,

elem

entt

ypex

)position find( list l, elementtype x )

positi

onfi

nd(l

istl

,ele

ment

type

x):返回線性表中x的位置。若找不到則返回error;

b oo

lins

ert(

list

l,el

emen

ttyp

ex,p

osit

ionp

)bool insert( list l, elementtype x, position p )

boolin

sert

(lis

tl,e

leme

ntty

pex,

posi

tion

p):將x插入在位置p並返回true。若空間已滿,則列印「full」並返回false;如果引數p指向非法位置,則列印「illegal position」並返回false;

b oo

ldel

ete(

list

l,po

siti

onp)

bool delete( list l, position p )

boolde

lete

(lis

tl,p

osit

ionp

):將位置p的元素刪除並返回true。若引數p指向非法位置,則列印「position p empty」(其中p是引數值)並返回false。

#include

#include

#define maxsize 5

#define error -1

typedef

enum

bool

;typedef

int elementtype;

typedef

int position;

typedef

struct lnode *list;

struct lnode

;list makeempty()

; position find

( list l, elementtype x )

;bool

insert

( list l, elementtype x, position p )

;bool

delete

( list l, position p )

;int

main()

scanf

("%d"

,&n)

;while

( n--

)scanf

("%d"

,&n)

;while

( n--

)return0;

}

/* 你的**將被嵌在這裡 */

612

3456

3651

2-16

full insertion error:

6 is not in.

finding error:

6 is not in.

5 is at position 0.

1 is at position 4.

position -

1 empty deletion error.

full insertion error:

0 is not in.

position 6 empty deletion error.

full insertion error:

0 is not in.

list makeempty()

bool insert

( list l, elementtype x, position p )

else

if(p > l -> last +

1|| p <0)

for(

int i = l -> last; i >= p -

1; i--

) l -> data[p]

= x;

l -> last++

;return true;

}position find

( list l, elementtype x )

return error;

}bool delete

( list l, position p )

for(

int i = p; i <= l -> last; i++

) l -> last--

;return true;

}

6 2 順序表操作集 20分

後記本題要求實現順序表的操作集。函式介面定義 list makeempty position find list l,elementtype x bool insert list l,elementtype x,position p bool delete list l,position p 其中l...

6 2 順序表操作集 20分

本題要求實現順序表的操作集。函式介面定義 list makeempty position find list l,elementtype x bool insert list l,elementtype x,position p bool delete list l,position p 其中lis...

6 2 順序表操作集 20分

本題要求實現順序表的操作集。函式介面定義 list makeempty position find list l,elementtype x bool insert list l,elementtype x,position p bool delete list l,position p 其中lis...