最近在複習資料結構,順便看看大一的時候寫的**,看完之後比當初有了更加深刻的體會。
希望這些能提供給初學者一些參考。
在vc++6.0下可執行,當初還寫了不少注釋。
/*c語言描述
建立一有序的順序表,並實現下列操作:
1.把元素x插入表中並保持有序;
2.查詢值為x的元素,若找到將其刪除;
3.輸出表中各元素的值。
*/#include #define maxsize 20
//建立順序表結構體
typedef struct seqlist
seqlist;
//初始化順序表
void inilist(seqlist *l)
//將元素插入表中並保持有序
void inslist(seqlist *l, int n)
//查詢某元素是否在表中
int checklist (seqlist l, int n)
//查詢並刪除某個元素
void dellist (seqlist *l, int n)
for (j = n + 1; j < l->length; j++)
l->elem[j-1] = l->elem[j];
(l->length)--;
}//輸出表中各元素
void printlist(seqlist l)
printf ("\n");
}int main ()
printlist(list); //列表輸出元素
printf ("enter the value to deleted: ");
scanf ("%d", &element);
index = checklist(list, element); //查詢元素
if (-1 == index)
else
dellist(&list, index); //若找到,則刪除元素
printlist(list); //再次列表輸出各個元素
return 0;
}
再回首,資料結構 鍊錶上的常見操作
最近在複習資料結構,順便看看大一的時候寫的 看完之後比當初有了更加深刻的體會。希望這些能提供給初學者一些參考。線性表的鏈式儲存結構 typedef struct lnode listnode typedef listnode linklist 單鏈表的查詢運算 linklist locate lin...
再回首,資料結構 鏈棧上的常見操作
最近在複習資料結構,順便看看大一的時候寫的 看完之後比當初有了更加深刻的體會。希望這些能提供給初學者一些參考。棧的鏈式儲存結構 typedef struct snode stacknode typedef stacknode linkstack 初始化棧 linkstack stackinit 判斷...
再回首,資料結構 線性表 鍊錶上的常見演算法
最近在複習資料結構,順便看看大一的時候寫的 看完之後比當初有了更加深刻的體會。希望這些能提供給初學者一些參考。1.編寫演算法實現線性表就地逆置的操作 void inverselist seqlist l 2.從順序表中刪除自第i個元素開始的k個元素 void deletelist seqlist l...