C语言学习-数据结构 - 倒插法顺序表
// test20161106.cpp : Defines the entry point for the console application.
// #include "stdafx.h"
#include "stdlib.h"
#include "conio.h" typedef struct{
char name;
int x;
int y;
}ElemType; typedef struct Node{
ElemType data;
struct Node *next;
}Node,*LinkList; void InitList(LinkList *L){
*L=(LinkList)malloc(sizeof(Node));
(*L)->next = NULL;
} void DisplayList(LinkList L){
Node *p;
p = L->next; printf("依次输入链表数据\n");
while(p!=NULL){
printf("%c %d %d\n",p->data.name,p->data.x,p->data.y);
p = p->next;
}
printf("%\n\n");
} void CreateFromHead(LinkList L){
Node *s;int flag=1;char c;
char inputName;int inputX=0;int inputY=0;
while(flag){
fflush(stdin);
scanf("%c %d %d",&inputName,&inputX,&inputY);
if(inputName!='$'){
s=(Node*)malloc(sizeof(Node));
s->data.name=inputName;
s->data.x=inputX;
s->data.y=inputY;
s->next=L->next;
L->next=s;
L = s;
}else{
flag = 0;
L->next = NULL;
}
}
} Node *Locate(LinkList L, char key){
Node *p;
p=L->next; while(p!=NULL){
if(p->data.name!=key){
p=p->next;
}else{
break;
}
}
return p;
} void _tmain(int argc, _TCHAR* argv[])
{
LinkList myList;
char cityName;
Node *cityNode;
int positionX,positionY;
float distance;
int flag,tag; //初始化链表
InitList(&myList); //头插法建链表
CreateFromHead(myList); //显示链表
DisplayList(myList);
getch(); printf("\n请输入一个城市名,我们将返回它的坐标!\n");
fflush(stdin);
scanf("%c",&cityName);
cityNode = Locate(myList,cityName);
if(cityNode!=NULL){
printf("%d %d\n\n",cityNode->data.x,cityNode->data.y);
}else{
printf("未找到输入的城市!");
}
}
C语言学习-数据结构 - 倒插法顺序表的更多相关文章
- 【数据结构】之顺序表(Java语言描述)
之前总结过使用C语言描述的顺序表数据结构.在C语言类库中没有为我们提供顺序表的数据结构,因此我们需要自己手写,详细的有关顺序表的数据结构描述和C语言代码请见[我的这篇文章]. 在Java语言的JDK中 ...
- 【数据结构】之顺序表(C语言描述)
顺序表是线性表的一种,它将元素存储在一段连续的内存空间中,表中的任意元素都可以通过下标快速的获取到,因此,顺序表适合查询操作频繁的场景,而不适合增删操作频繁的场景. 下面是使用 C语言 编写的顺序表的 ...
- 五种编程语言解释数据结构与算法——顺序表1(理论与C语言实现)
1.线性表的分类 2.线性表的定义及其基本操作 2.1.定义:线性表是具有相同类型的n(n>=0)个元素的有序序列,其中n为表长,当n=0时,该表为空表. 2.3.线性表的逻辑结构为: 2.4. ...
- 五种编程语言解释数据结构与算法——顺序表3(JavaScript与Python语言实现)
7.JavaScript语言实现 7.1.用ES6语法编写顺序表类 //1.创建类 class MyList { //1. initList(&L):初始化表.构造一个空的线性表.放回值应该是 ...
- 【C语言--数据结构】线性顺序表
线性表的本质: 1.线性表(List)是零个或者多个数据元素的集合: 2.线性表中的数据元素之间是有顺序的: 3.线性表中的数据元素个数是有限的: 4.线性表中的数据元素的类型必须相同: 定义: 线性 ...
- 五种编程语言解释数据结构与算法——顺序表2(java与C++语言实现)
5.java实现方式: 5.1.顺序表的抽象结构 package com.xgp.顺序表; public interface MyList<T> { //1. initList(& ...
- 数据结构 单链表&顺序表
顺序表: 一般使用数组(C语言中的数组采用顺序存储方式.即连续地址存储)来描述. 优点:在于随机访问元素, 缺点:插入和和删除的时候,需要移动大量的元素. 链表: 优点:插入或删除元素时很方便,使用灵 ...
- C语言利用动态数组实现顺序表(不限数据类型)
实现任意数据类型的顺序表的初始化,插入,删除(按值删除:按位置删除),销毁功能.. 顺序表结构体 实现顺序表结构体的三个要素:(1)数组首地址:(2)数组的大小:(3)当前数组元素的个数. //顺序表 ...
- 数据结构:DHU顺序表ADT模板设计及简单应用:找匹配
顺序表ADT模板设计及简单应用:找匹配 时间限制: 1S类别: DS:线性表->线性表应用 问题描述: 输入范例: 100000100000 99999 99998 99997 99996 99 ...
随机推荐
- mysql语句中使用like后面的%(百分号)的问题
问题:mysql语句中使用like后面的%(百分号) 是不是越多运行效率越慢! 总用时:0.0489秒 0.0691 0.0485 0.0467 SELECT `goods_name`, `goods ...
- C# 字段、属性、成员变量
引言: C#与java,C++中的这些基本概念略有不同. 由于easy混淆,所以这里总结下差别. 希望能对刚開始学习的人有帮助! 一.定义与作用 1.字段(field):是C#类级别定义的,和方法同一 ...
- 第四章——SQLServer2008-2012资源及性能监控(1)
原文:第四章--SQLServer2008-2012资源及性能监控(1) 性能优化的第一步是发现问题,而发现问题通常又有两类:突发问题的侦测和常规问题的侦测,对于常规问题的侦测,通常需要有一个长效的性 ...
- java得到clientIP地址和MAC住址
最近的项目应该得到client的mac住址. 服务器移植centos制,arm建筑箱.client手机和移动设备.(其他方案也应该是一流的似的) 首先,要获得ip住址: 依据client的http请求 ...
- Android应用启动还有一个应用
已知包名和应用入口Activity 包名:org.ww 应用入口:Activity:org.ww.TestActivity Intent intent = new Intent(); intent.s ...
- 网络的基本概念TCP, UDP, 单播(Unicast), 多播(多播)(Multicast)
章相当低级,但相当重要! 我们周围一切差点儿都依赖于把事情抽象成低等级,并在某一点把它详细化,在一些设计概念中.接口层十分清晰而且目标非常集中,应用程序不用考虑操作系统怎样工作,操作系统也不用考虑硬件 ...
- Total Command help
- Android学习之RecyclerView
RecyclerView是android-support-v7-21版本号中新增的一个Widget,官方介绍RecyclerView 是 ListView 的升级版本号,更加先进和灵活. 开发环境 - ...
- 公布一个基于 Reactor 模式的 C++ 网络库
公布一个基于 Reactor 模式的 C++ 网络库 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Aug 30 本文主要介绍 muduo 网 ...
- Scrum总结
Scrum总结一个轻量级的软件开发方法 Scrum是一个敏捷开发框架,是一个增量迭代的开发过程..在这个框架整个开发周期由若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的 ...