IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 数据结构-顺序查找 -> 正文阅读

[数据结构与算法]数据结构-顺序查找

#include<iostream> //引入库 
using namespace std; //使用c++标准库中的标识符 
typedef struct Xu 
{                   //定义数据字域 
	string key;        
	int n;
}Xu;
typedef struct LNode {   //定义节点 
	Xu date;              //调用结构体变量xu,成为节点数据域 
	struct LNode *next;    //定义指针域 
}LNode,*LinkList;          //结构体变量 节点 指向节点的指针 (头指针) 
void InitList(LinkList &L) //初始化 
{      
	string a[11] = { "xu1","xu2","xu3","xu4","xu5","xu6","xu7","xu8","xu9","xu10","xu11" };
	int b[11] = { 39,90,37,50,35,28,6,0,12,23,78 };
	L = new LNode;         //开辟新的节点空间 
	L->next = NULL;      
	LNode *r = L;          //用r来代替L,是为了不改变头指针
	for (int i = 0;i < 11;i++)
	{
		LinkList p = new LNode;   //开辟新的节点空间
		p->date.key = a[i];       //把具体数据存入链表中 
		p->date.n = b[i];
		p->next = NULL;         
		r->next = p;    //第一次使得头结点的指针域指向首元节点    接着依次指向下一项 
		r = p;          //移动指针-存数据 
	}
}
void trvaseList (LinkList &L)   //输出链表 
{
	LinkList p;
	p=L->next;
	while(p)
	{
		cout <<p->date.key<<"   "<<p->date.n << endl;
		p=p->next;
	}
	system("pause");              //暂停运行界面 
}
void SearchList(LinkList &L,int n) 
{                                  //顺序查找 
	LNode *r = L->next;
	int flag = 1;                 //用falg来确定当前指针的位置
	while (r != NULL)             //指针不为空,就循环遍历
	{  
		if (r->date.n == n) {           //相等后打印并跳出循环
			cout << "该记录为:  " << r->date.key << "   " << r->date.n << "   " << "在表中位置为; " << flag << endl;
			break;
		}
		else {
			r = r->next;           //指针后移,确定下一项 
			flag++;                //位置+1 
		}
	}
	if (r == NULL)                //相等后打印并跳出循环
		cout << "该记录不存在" << endl;

}
int main() 
{                  //主函数 
	LinkList L;                //定义头指针 
	InitList(L);               //调用函数初始化 
	trvaseList (L);              //调用函数输出链表 
	int n;
	while(1)         //一直执行,方便多次查找 
	{
	cout << "输入您想要查找的数据" << endl;  
	cin >> n;
	SearchList(L,n);    
	system("pause");              //暂停运行界面 
	}
}

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:44:08  更:2021-12-24 18:45:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:45:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码