資料結構之鍊錶

2021-10-02 08:28:55 字數 1596 閱讀 1857

#include

#include

#define max 100

#define ok 1

#define error 0

#define overflow -1

using namespace std;

typedef struct//學生結構體

stu;

typedef struct lnode

lnode;

void show(stu s)

int initlist(lnode * &l)//初始化鍊錶

int searchno(lnode *l, string no)//按學號查詢

if(p)//判斷是否查到

show(p->data)

;//顯示資訊

else

cout <<

"未查找到此學號!!!"

<< endl;

return ok;

}int searchna(lnode *l, string name)//按姓名查詢

if(p)

show(p->data)

;else

cout <<

"未查找到此姓名!!!"

<< endl;

return ok;

}int insert(lnode *&l, int i, stu s)//插入if(

!p || j > i - 1)//i < 1

a->data = s;//輸入資料域

a->next = p->next;//a的next 指向p的next

p->next = a;//p的next 指向a,完成插入

cout <<

"插入成功!!!"

<< endl;

return ok;

}int delete(lnode * &l, int i)//刪除if(

!(p->next)

||(i < 1))//i<1 或者 刪除位置不存在

lnode *q = p->next;//q 為要刪除的節點

p->next = q->next;//q的前任節點 指向q的下任節點

delete q;//釋放q的位址

cout <<

"刪除成功!!!"

<< endl;

return ok;

}void show(lnode *l)//過載

}void features(

)//功能

void createlist(lnode * & l, int i)//後插法輸入資料,輸入順序和輸出順序一樣

cout <<

"輸入成功!!!"

<< endl;

}//void createlist(lnode * & l, int i)//前插法輸入資料,輸入順序和輸出順序相反

//// cout <<

"輸入成功!!!"

<< endl;

//}int main()}

cout <<

"已退出!"

<< endl;

return 0;

}

資料結構 表之煉表

頭插法建立 尾插法建立 顯示 銷毀 include include using namespace std typedef int elemtype typedef struct lnode linklist void createlinklistf linklist l,elemtype a,in...

資料結構之鍊錶

頭結點 第乙個有效結點之前的那個結點 頭結點並不存有效資料 加頭結點的目的主要是為了方便對鍊錶的操作 頭指標 指向頭結點的指標變數 尾指標 指向尾節點的指標變數 如果希望通過乙個函式對鍊錶進行處理,只需要乙個引數 頭指標 首先要定義乙個單鏈表儲存結構 然後建立乙個空表,即初始化,我寫的這個提前設定好...

資料結構之鍊錶

鍊錶是一種基本的資料結構型別,它由乙個個結點組成。每乙個結點包括乙個資料的儲存和乙個指向下乙個結點的引用。在這個定義中,結點是乙個可能含有任意型別資料的抽象實體,它所包含的指向結點的應用顯示了它在構造鍊錶之中的作用。和遞迴程式一樣,遞迴資料結構的概念一開始也令人費解,但其實它的簡潔性賦予了它巨大的價...