日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法---查找倒数第k个链表的值

發布時間:2023/12/4 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法---查找倒数第k个链表的值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

算法—查找倒數第k個鏈表的值

代碼:

link.h

#pragma once #define elemType int #include<stdlib.h> typedef struct link {elemType data;struct link * next; }link; bool initLink(link* &Link) {//初始化鏈表Link = (link*)malloc(sizeof(link));Link->next = NULL;if (!Link) {return false;}return true; } int getLinkElem(link* &Link,int i) {//獲取鏈表的第i個元素link* p = Link;int j = 0;while (p&&j < i) {p = p->next;j++;}if (j >= i || !p) {return -1;}int v = p->data;return v; } bool LinkTailInsert(link* &Link, int i,int e) {//鏈表的第i個位置插入元素link* p = Link;link*s = (link*)malloc(sizeof(link));s->data = e;int j = 0;while (p&&j < i - 1) {p = p->next;j++;}if (!p || j > i - 1) {return false;}s->next = p->next;p->next = s;return true; } bool deleteLinkElem(link* &Link,int i) {//刪除鏈表的第i個元素int j = 0;link* p = Link,*q;while (p&&j < i - 1) {p = p->next;j++;}if (!p || j > i - 1) {return false;}q = p->next;p->next = q->next;delete q;return true; } void printLink(link* Link) {//遍歷鏈表link *p = Link->next;while (p) {printf("%d ", p->data);p = p->next;}printf("\n"); }

main.c

#include <stdio.h> #include <stdlib.h> #include"link.h" int checkTheLastElem(link* Link, int k) {//查找鏈表中倒數第k個元素link *p = Link;//帶頭結點(頭指針)link *q = Link;int count = 0;while (p) {if (count < k) {count++;}else {q = q->next;//q指針只有k>}p = p->next;//p指針一直移動}if (count < k) {printf("查找倒數第%d個元素失敗\n",k);return 0;}else {printf("查找倒數第%d個元素成功!為%d\n", k,q->data);return 1;} } int main() {link* Link;initLink(Link);int i = 0;while (i<3) {int v;scanf_s("%d", &v);LinkTailInsert(Link, 1,v);i++;}printf("遍歷鏈表:");printLink(Link);//遍歷checkTheLastElem(Link, 1);//查找倒數第一個元素printf("\n");system("pause");return 0; }

測試截圖:

時間復雜度O(n),空間復雜度O(1)

如果存在什么問題,歡迎批評指正!謝謝!

總結

以上是生活随笔為你收集整理的算法---查找倒数第k个链表的值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。