第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...