mirror of
https://github.com/This-weiyuqing/DSAndOS.git
synced 2026-10-17 18:55:44 +08:00
update
This commit is contained in:
1 parent
16d694ffe3
commit
35e5484d7c
183 files changed
+362
-7145
No files matched your search
@@ -0,0 +1,53 @@
|
||||
/***依次输出链表中的各个结点***/
|
||||
|
||||
#include<iostream>
|
||||
using namespace std;
|
||||
|
||||
#define OK 1
|
||||
#define ERROR 0
|
||||
#define OVERFLOW -2
|
||||
typedef int Status;
|
||||
typedef char ElemType;
|
||||
typedef struct LNode {
|
||||
ElemType data; //结点的数据域
|
||||
LNode *next; //结点的指针域
|
||||
} LNode, *LinkList;//头指针
|
||||
|
||||
//后插法创建链表算法
|
||||
void CreateList_L(LinkList &L, int n) {
|
||||
L = new LNode;
|
||||
L->next = NULL;
|
||||
LNode *p, *r;
|
||||
r = L;
|
||||
for (int i = 0; i < n; i++) {
|
||||
p = new LNode;
|
||||
cin >> p->data;
|
||||
p->next = NULL;
|
||||
r->next = p;
|
||||
r = p;
|
||||
}
|
||||
}
|
||||
|
||||
//算法3.9 遍历输出链表中各个结点的递归算法
|
||||
void TraverseList(LinkList p) {
|
||||
if (p == NULL)
|
||||
return; //递归终止
|
||||
else {
|
||||
cout << p->data << endl; //输出当前结点的数据域
|
||||
TraverseList(p->next); //p指向后继指点继续递归
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
int n;
|
||||
LinkList L;
|
||||
//InitList(L);
|
||||
cout << "请输入元素个数:" << endl;
|
||||
cin >> n;
|
||||
cout << "请输入链表元素(以空格隔开,按回车结束):" << endl;
|
||||
CreateList_L(L, n); //后插法创建链表算法
|
||||
cout << "链表中的元素依次为:" << endl;
|
||||
TraverseList(L->next);
|
||||
cout << endl;
|
||||
return 0;
|
||||
}
|
||||
Reference in new issue
Block a user