// 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语言学习-数据结构 - 倒插法顺序表的更多相关文章

  1. 【数据结构】之顺序表(Java语言描述)

    之前总结过使用C语言描述的顺序表数据结构.在C语言类库中没有为我们提供顺序表的数据结构,因此我们需要自己手写,详细的有关顺序表的数据结构描述和C语言代码请见[我的这篇文章]. 在Java语言的JDK中 ...

  2. 【数据结构】之顺序表(C语言描述)

    顺序表是线性表的一种,它将元素存储在一段连续的内存空间中,表中的任意元素都可以通过下标快速的获取到,因此,顺序表适合查询操作频繁的场景,而不适合增删操作频繁的场景. 下面是使用 C语言 编写的顺序表的 ...

  3. 五种编程语言解释数据结构与算法——顺序表1(理论与C语言实现)

    1.线性表的分类 2.线性表的定义及其基本操作 2.1.定义:线性表是具有相同类型的n(n>=0)个元素的有序序列,其中n为表长,当n=0时,该表为空表. 2.3.线性表的逻辑结构为: 2.4. ...

  4. 五种编程语言解释数据结构与算法——顺序表3(JavaScript与Python语言实现)

    7.JavaScript语言实现 7.1.用ES6语法编写顺序表类 //1.创建类 class MyList { //1. initList(&L):初始化表.构造一个空的线性表.放回值应该是 ...

  5. 【C语言--数据结构】线性顺序表

    线性表的本质: 1.线性表(List)是零个或者多个数据元素的集合: 2.线性表中的数据元素之间是有顺序的: 3.线性表中的数据元素个数是有限的: 4.线性表中的数据元素的类型必须相同: 定义: 线性 ...

  6. 五种编程语言解释数据结构与算法——顺序表2(java与C++语言实现)

    5.java实现方式: 5.1.顺序表的抽象结构 package com.xgp.顺序表; public interface MyList<T> { //1. initList(& ...

  7. 数据结构 单链表&顺序表

    顺序表: 一般使用数组(C语言中的数组采用顺序存储方式.即连续地址存储)来描述. 优点:在于随机访问元素, 缺点:插入和和删除的时候,需要移动大量的元素. 链表: 优点:插入或删除元素时很方便,使用灵 ...

  8. C语言利用动态数组实现顺序表(不限数据类型)

    实现任意数据类型的顺序表的初始化,插入,删除(按值删除:按位置删除),销毁功能.. 顺序表结构体 实现顺序表结构体的三个要素:(1)数组首地址:(2)数组的大小:(3)当前数组元素的个数. //顺序表 ...

  9. 数据结构:DHU顺序表ADT模板设计及简单应用:找匹配

    顺序表ADT模板设计及简单应用:找匹配 时间限制: 1S类别: DS:线性表->线性表应用 问题描述: 输入范例: 100000100000 99999 99998 99997 99996 99 ...

随机推荐

  1. leetcode:pascal&#39;s_triangle_II

    一.     称号 一行值. 二.     分析 这道题跟Pascal'sTriangle非常类似,仅仅是这里仅仅须要求出某一行的结果.Pascal's Triangle中由于是求出所有结果,所以我们 ...

  2. 【SQL Server性能优化】SQL Server 2008该表压缩

    当数据库是比较大的,而当你想备份,我们可以启动数据库备份压缩.这项由于备份文件比较小的压缩,所以整个备份的更快的速度,同时还低了磁盘空间的消耗. 当然还有一方面.肯定会添加cpu的消耗.只是一般的se ...

  3. (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上

    (1)首先创建java project 选择eclipse菜单上File->New->Java Project. 并命名为UploadFile. (2)加入必要的hadoop jar包 右 ...

  4. UVa 10491 - Cows and Cars

    題目:有m+n個們,每個門後面有牛或者車:有n仅仅牛,m輛車,你選擇当中1個: 然後打開当中的k你沒有選中的門後是牛的,問你改變選時得到車的概率. 說明:數學題,概率.全概率公式就可以: 說明:第10 ...

  5. 云盘+Git GUI云盘文件版本控制

    以下介绍操作细节 1.先下载Git GUI 下载地址:http://msysgit.github.io/ 再下载百度云网盘 下载地址:http://pan.baidu.com 接下来就是安装这两个软件 ...

  6. HDU--3829--Cat VS Dog【最大点独立集】

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=3829 题意:动物园有n条狗.m头猫.p个小孩,每一个小孩有一个喜欢的动物和讨厌的动物.如今动物园要转移一些 ...

  7. Android特效 五种Toast具体解释

    Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,并且Toast显示的时间有限,过一定的时间就会自己主动消失. 1.默认效果: 代码: Toas ...

  8. SGU 548 Dragons and Princesses

    意甲冠军: n个月格儿  所有的格龙或公主的儿子  从勇士1走n  不杀  杀死有钱拿  路过公主  假设之前杀龙的数量满足公主要求就会停止行走  问  勇士想多拿钱  可是必需要满足n格子的公主  ...

  9. 【SSH 基金会】SSH框架--struts进一步的详细解释(两)

    继上篇博客 既然我们知道了不使用struts给我们带来这么多弊端,那么以下我们来看看struts是怎样封装的.怎么解决我们出现的问题的? 先来说一下struts的基本流程,帮助大家理解以下的代码: S ...

  10. SpringMVC + Spring 3.2.14 + Hibernate 3.6.10

    SpringMVC + Spring 3.2.14 + Hibernate 3.6.10 集成详解 注:此文档只说明简单的框架集成,各个框架的高级特性未涉及,刚刚接触框架的新人可能需要参考其他资料. ...