// 線性表的鏈式存盤實作
#include <stdio.h>
#include <stdlib.h>
#define overflow -1
#define ok 1
#define error 0typedef
int status;typedef char elemtype;
typedef struct lnode { elemtype data; struct lnode *next;}lnode,*linklist;status initlist(linklist &L){ // 初始化 // 此處填代碼}status listinsert(linklist &L, int i, elemtype e){ // 插入 // 此處填代碼}status listtraverse(linklist L){ // 遍歷 // 此處填代碼}status getelem(linklist L, int i, elemtype &e){ // 取資料 // 此處填代碼}int locateelem(linklist L, elemtype e){ // 定位 // 此處填代碼}status listdelete(linklist &L, int i, elemtype &e){ // 洗掉 // 此處填代碼}status destroylist(linklist &L){ // 注銷 // 此處填代碼}int main(){ // elemtype e; linklist L; int TestCase; scanf("%d", &TestCase); printf("(1)初始化線性表L:\n"); initlist(L); printf("(2)依次在線性表L尾插入字符a,b,c,d,e:\n"); listinsert(L,1,'a'); listinsert(L,2,'b'); listinsert(L,3,'c'); listinsert(L,4,'d'); listinsert(L,5,'e'); printf("(3)在線性表L的第2個位置之前插入字符f:\n"); listinsert(L,2,'f'); switch (TestCase){ case 1: // 遍歷 printf("(4)輸出線性表L:\n"); listtraverse(L); break; case 2: // 取元素 printf("(5)輸出線性表L的第3個元素:"); getelem(L,3,e); printf("%c\n",e); break; case 3: // 定位 printf("(6)輸出元素d在線性表L的位置:%d\n",locateelem(L,'d')); break; case 4: // 洗掉、遍歷(確定洗掉效果) printf("(7)洗掉線性表L的第4個元素:\n"); listdelete(L,4,e); printf("(8)輸出線性表L:\n"); listtraverse(L); break; default: // 綜合 (遍歷、取數、定位、洗掉、遍歷) printf("(4)輸出線性表L:\n"); listtraverse(L); printf("(5)輸出線性表L的第3個元素:"); getelem(L,3,e); printf("%c\n",e); printf("(6)輸出元素d在線性表L的位置:%d\n",locateelem(L,'d')); printf("(7)洗掉線性表L的第4個元素:\n"); listdelete(L,4,e); printf("(8)輸出線性表L:\n"); listtraverse(L); } printf("(9)釋放線性表L。\n"); destroylist(L); return ok; }
uj5u.com熱心網友回復:
你這個排版代碼怎么看呢?編譯結果和運行結果可以曬出來看看。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/138408.html
標籤:新技術前沿
下一篇:圖
