c语言构造一个顺序表输入一组数据,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("未找到输入的城市!");

}

}

【数据结构】之顺序表(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 { //1. initList(& ...

数据结构 单链表&顺序表

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

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

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

数据结构——Java实现顺序表

一.分析 什么是顺序表?顺序表是指用一组地址连续的存储单元依次存储各个元素,使得在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中的线性表.一个标准的顺序表需要实现以下基本操作: 1.初始化顺序表 ...

随机推荐

[JS13] ActivetX

JavaScript Unleashed
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值