資料結構 線性表之順序儲存

2021-07-30 08:07:47 字數 1766 閱讀 8802

第i個元素與第乙個元素的儲存位置滿足:loc(ai)=loc(a1)+(i-1)*m

#include #include #include #include /**線性表的順序儲存**/

#define max_size 100 //定義線性表最大長度 順序儲存的缺陷之一

typedef structdata;

typedef structsqllist;

/**初始化**/

void initlist(sqllist *l)

/**判斷是否為空**/

int listempty(sqllist l)

/**返回線性表長度**/

int listlength(sqllist l)

/**清空線性表**/

void clearlist(sqllist *l)

/**獲得第i個元素**/

int getelem(sqllist l,int i,data *e)else

return 1;

}/**查詢元素e的位置**/

int locateelem(sqllist l,data e)

l->list[i] = e;

l->length++;

}/**刪除第i個位置上的元素**/

void deletelist(sqllist *l,int i,data *e)

l->length--;

}/**列印線性表**/

void printlist(sqllist l)else if(listlength(l)>=max_size)else

break;

case 3:

printlist(l);

break;

case 4:

printf("input the position to delete: ");

scanf("%d",&position);

len = listlength(l);

if(position<0||position>len)else if(len==0)else

break;

case 5:

printf("input the position to find: ");

scanf("%d",&position);

code = getelem(l,position,&d);

if(code==1)else

break;

case 6:

clearlist(&l);

break;

case 7:

printf("input the name :");

scanf("%s",&name);

printf("input the age :");

scanf("%d",&age);

strcpy(d.name,name);

d.age = age;

code = locateelem(l,d);

if(code==-1)else

break;

case 8:

code = listempty(l);

if(code==1)else

break;

} }system(0);

}

資料結構之線性表 順序儲存

從新在學習一遍資料結構,每天盡量都寫點!fuction the list struct by xiaolong date 2012年 03月 13日 星期二 16 50 12 cst 功能 線性表的順序儲存實現 主要功能 include include define max size 20 defi...

資料結構之線性表 順序儲存

線性表作為一種最簡單的資料結構,在資料的管理和運用方面有著很大的作用,而這種特殊的資料集合,其自身有著很強的特點 線性表 線性表是n個型別相同的資料元素的有限集合,且n大於0,除第乙個元素無直接前驅,和最後乙個元素沒有直接後繼以外,其餘的每個元素都有乙個直接前驅和乙個直接後繼,而且元素之間具有一對一...

資料結構之線性表順序儲存

零個或多個資料元素的有限序列。這裡需要強調幾個關鍵的地方 1 首先它是乙個序列。也就是說,元素之間是有順序的,若元素存在多個,則第乙個元素無前驅,最後乙個元素無後繼,其他每個元素都有乙個前驅和後繼。2 然後,線性表強調是有限的。如果用數學語言來進行定義。可如下 若將線性表標記為 a1,ai 1,ai...