資料結構-單連結串列查詢按序號查詢
#include<iostream>
#include<stdlib.h>
#define ERROR -40000
using namespace std;
typedef struct LNODE
{
int data;
struct LNODE *next;
}Lnode;
Lnode *Input(int n)
{
Lnode *head,*p,*q;
head=p=(Lnode*)malloc(sizeof(Lnode));
p->next=NULL;
for(int i=0;i<n;i++)
{
int data;
cin>>data;
q=(Lnode*)malloc(sizeof(Lnode));
q->data=data;
q->next=p->next;
p->next=q;
p=q;
}
return head;
}
int FindData(Lnode *L,int id)
{
Lnode *p;
p=L->next;
int j=1;
while(p!=NULL&&j<id)
{
p=p->next;
j++;
}
if(j!=id||p==NULL) return ERROR;//書上沒有此處判斷n+1位置輸入後bug,指標沒有分配記憶體
else return p->data;
}
int main()
{
int n;
while(cin>>n)
{
Lnode *p=Input(n);
cout<<"資料查詢:"<<endl;
while(1)
{
int num;
cout<<"輸入查詢序號:"<<endl;
cin>>num;
int find_data=FindData(p,num);
if(find_data!=ERROR)
{
cout<<"查詢結果為:"<<find_data<<endl;
}
else
{
cout<<"無法查詢結果"<<endl;
}
}
}
return 0;
}
相關文章
- 【資料結構】折半查詢(二分查詢)資料結構
- 單向迴圈連結串列——查詢、刪除、插入結點
- 資料結構__連結串列_單連結串列的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- 23.資料結構 查詢資料結構
- 雙向連結串列————查詢、刪除、插入結點
- 連結串列面試題(四)---查詢連結串列的中間節點面試題
- 資料結構_連結串列_單向迴圈連結串列 & 雙向連結串列的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- 重學資料結構(八、查詢)資料結構
- 資料結構之三大查詢資料結構
- 資料結構-單連結串列、雙連結串列資料結構
- 單向加頭連結串列的[構建、插入、刪除、查詢、輸出]
- 資料結構_連結串列_單向迴圈連結串列的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- 查詢表結構
- 資料結構與演算法——單詞查詢樹資料結構演算法
- 查詢演算法集:順序查詢、二分查詢、插值查詢、動態查詢(陣列實現、連結串列實現)演算法陣列
- 雙向迴圈連結串列————遍歷、查詢、插入結點
- 【PHP資料結構】雜湊表查詢PHP資料結構
- Java資料結構(十五)—— 多路查詢樹Java資料結構
- 資料結構 折半查詢 swift的版本資料結構Swift
- 單連結串列的尾插,頭插,遍歷,查詢和插入
- 資料結構04——單連結串列資料結構
- 資料結構之單連結串列資料結構
- MySQL - 資料查詢 - 簡單查詢MySql
- 資料庫 - 連線查詢、巢狀查詢、集合查詢資料庫巢狀
- 資料庫資料的查詢----連線查詢資料庫
- python連結mysql查詢資料例項PythonMySql
- mysql查詢索引結構MySql索引
- sqlserver表結構查詢SQLServer
- javascript資料結構之順序查詢簡單介紹JavaScript資料結構
- Hierarchical Queries 級聯查詢(樹狀結構查詢)
- 單向連結串列————遍歷、查詢、插入結點 (基於C語言實現)C語言
- 資料結構--陣列、單向連結串列、雙向連結串列資料結構陣列
- 資料結構_連結串列_雙向迴圈連結串列的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- zset如何解決內部連結串列查詢效率低下
- javascript資料結構之二分查詢簡單介紹JavaScript資料結構
- 複習下C 連結串列操作(雙向迴圈連結串列,查詢迴圈節點)
- 資料結構_連結串列_雙向迴圈連結串列 & 棧 的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- 資料結構之查詢(順序、折半、分塊查詢,B樹、B+樹)資料結構