亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數據結構,實現“查找倒數第m個元素”錯誤?

數據結構,實現“查找倒數第m個元素”錯誤?

C
qq_狂亂貴公子_0 2018-04-12 21:35:02
#include<stdio.h>#include<stdlib.h>typedef int ElemType;typedef struct Node{? ? ElemType data;? ? struct Node *next;} LNode, *LinkList;void InitList(LinkList &L) //初始化線性表{? ? L = (LinkList)malloc(sizeof(LNode)); //創建頭結點? ? L->next = NULL;? ? L->data = -1;}void Build(LinkList &L)//建立一個帶頭結點的單鏈表{? ? int n;? ? LinkList p, q;? ? p = L;? ? printf("請輸入數據元素個數n:\n");? ? scanf("%d", &n);? ? printf("請輸入%d個數據元素:\n", n);? ? while(n--)? ? {? ? ? ? q = (LinkList)malloc(sizeof(LNode));? ? ? ? scanf("%d", &q->data);? ? ? ? q->next = NULL;? ? ? ? p->next = q;? ? ? ? p = q;? ? }}int n = 0;//計數君nvoid count(LinkList L, int x){? ? Node *p;//定義一個指針節點p? ? p = L;//將p初值指向鏈表頭節點? ? printf("\n請輸入要找的元素值x:");? ? scanf("%d", &x);//輸入需要查找的數? ? while(p!= NULL)//用while循環遍歷單鏈表L? ? {? ? ? ? if(p->data == x)? ? ? ? ? ? n++;//正在遍歷的數用if語句判斷是否等于x,若等于,計數君n+1? ? ? ? p = p->next;//無論if語句中判斷真或假,判斷完就可以執行下一個數? ? }//(這里的p=p->next不可以在大括號外,否則遍歷不能完全執行)? ? printf("表中含有%d個%d\n", n, x);//while循環執行完畢可以輸出}int s=0,j=0;//定義總結點數為s。j記憶第幾個節點void find(LinkList L,int m){ Node *p; p=L; printf("\n你要查找倒數第幾個結點的值?"); scanf("%d",&m); while(p!=NULL) { p=p->next; s++; } while((p->next!=NULL)&&(j<s-m+1)) { p=p->next; j++; } printf("倒數第%d個元素的值為%d\n",m,p); ?}int main(){? ? LinkList L;? ? InitList(L);? ? Build(L);? ? count(L,n); find(L,p);? ? return 0;}
查看完整描述

目前暫無任何回答

  • 0 回答
  • 0 關注
  • 945 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號