算法习题---线性表之单链表逆序打印
生活随笔
收集整理的這篇文章主要介紹了
算法习题---线性表之单链表逆序打印
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:題目
逆序打印單鏈表中的數據,假設指針指向單鏈表的開始結點二:思路
1.可以使用遞歸方法,來進行數據打印 2.可以借助數組空間,獲取長度,逆序打印數組 3.若是可以,對鏈表數據使用頭插法,逆序排列,然后正序打印即可三:算法實現(這里使用方法一:遞歸實現簡單易懂)
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h>#define MAXSIZE 10#define OK 1 #define ERROR 0typedef int Status;typedef struct Node {int data;struct Node* next; }LNode,*LinkList;//初始化鏈表,帶有頭結點 Status InitList(LinkList* L) {LNode* p,*q;//初始化頭結點*L = (LinkList)malloc(sizeof(LNode));if (*L == NULL)return ERROR;(*L)->next = NULL;p = *L;//頭插法插入數據1-10,也就是說創建后的鏈表數據是由10-1的for (int i = 0; i < MAXSIZE; i++){q = (LNode*)malloc(sizeof(LNode));q->data = i + 1;q->next = p->next;p->next = q;}return OK; }void InvertPrint(LinkList L) {if (L!=NULL){InvertPrint(L->next);printf("%d->", L->data);} }int main() {LinkList L;//初始化鏈表數據InitList(&L);//打印數據InvertPrint(L->next);system("pause");return 0; }?
轉載于:https://www.cnblogs.com/ssyfj/p/9567541.html
總結
以上是生活随笔為你收集整理的算法习题---线性表之单链表逆序打印的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何让VB6代码编辑器垂直滚动条随鼠标滚
- 下一篇: codeforces 1029 A. M