链表之字符(一)

先是建立一个含有城市名字的链表,以后的操作再继续

#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
typedef struct Node
{
    char name[20];
    float x,y;
    ElemType data;
    Node *next;
}Node,*LinkList;
void Build(LinkList L){
    LinkList p,q;
    int n;
    p=L;
    printf("请输入要建立城市的个数\n");
    scanf("%d",&n);
     while(n--)
 {
    q=(LinkList)malloc(sizeof(Node));
    printf("请输入城市的名字\n");
    scanf("%s",&q->name);
     q->next=NULL;
     p->next=q;
     p=q;
    }
}
void Print(LinkList L)//计算单链表的长度,然后输出单链表
{
 int num=0;
 LinkList p;
 p=L->next;
 while(p)
 {
  num++;
  printf("%s ",p->name);
  p=p->next;
 }
 printf("\n长度为%d:\n",num);
}
int main(){
    LinkList L;
     L=(LinkList)malloc(sizeof(Node));
     L->next=NULL;
     Build(L);
     Print(L);
}
时间: 2024-12-21 02:32:57

链表之字符(一)的相关文章

链表之字符(二)

#include<iostream> #include<stdio.h> #include<stdlib.h> #include<string> using namespace std; typedef int ElemType; int size=0; typedef struct Node { char name[20]; float x,y; ElemType data; Node *next; }Node,*LinkList; void Build(

单链表放字符

LNode *toucha(){LNode *head; LNode *p;//定义类型为表格指针的表格块 LNode *s;//这个用来做标记用zk char c;//接受输入的数字 int z=1; head=(LNode*)malloc(sizeof(LNode));//给表格头分配一个内存空间 p=head;//标记位置等于表格头 p->next=NULL;// printf("头插法请输入数字 等于0结束\n"); scanf("%c",&c

数据结构(C语言版)链表相关操作算法的代码实现

这次实现的是带头结点的单链表的初始化.遍历.创建.插入.删除.判断链表是否为空.求链表长度函数,编译环境是vs2013. 其中插入和删除函数中循环的条件目前还不太明白. #include<iostream> using namespace std; typedef int Status; typedef char Elemtype; //定义链表的存储结构,注意这里与算法的定义有一处不同,是定义结构体时就命名Lnode,说明*next的类型只要说是Lnode类型就可以 typedef stru

php spl数据结构

1.双链表SplDoublyLinkedList 结构如图: 类定义: SplDoublyLinkedList implements Iterator , ArrayAccess , Countable { /* 方法 */ public __construct ( void ) //构造函数 public void add ( mixed $index , mixed $newval )//在特定位置添加值,原位置的值向后退 public mixed bottom ( void ) //返回链

2015 ACM/ICPC Asia Regional Beijing Online

A The Cats' Feeding Spots B Mission Impossible 6 模拟题.想法是用结构体数组做一个链表. 比赛的时候WA了.说一下几个注意点. 1.光标到头的时候不能再动了. 2.字符总数不能超过M,如果V操作溢出则不执行V操作(而不是粘贴部分). 3.复制的时候有左右方向. 4.复制状态下进行了除L/R/D以外的操作则停止复制.注意!!此时不更新剪贴板. 5.每次操作之后记得更新光标的位置. 6.每个Case初始化各种变量时,串与剪贴板清空. 反思:比赛的时候思

CW程序编码与测试总结

github地址:https://github.com/star-mick/wcproject PSP 阶段: 估计耗时(min) 实际耗时(min) 计划: 5 3 计划所需时间 5 3 开发: 105 22.5*60 需求分析(包括学习新技术) 20 25 生成设计文档 5 2 设计复审 5 2 代码规范 5 2 具体设计 10 30 具体编码 30 17*60 代码复审 10 2*60 测试 30 2.5*60 报告: 35 2.25*60 测试报告 20 2*60 计算工作量 5 5 事

C语言之字符单向链表

/* * @Author: suifengtec * @Date:   2017-09-02 16:06:33 * @Last Modified by:   suifengtec * @Last Modified time: 2017-09-02 20:47:13 **/ /* 字符单向链表 gcc -o a.exe main.c && a  */ #include <stdio.h> #include <stdlib.h> #include <stdbool

leetcode——Longest Substring Without Repeating Characters 求链表中无重复字符的最大字串长度(AC)

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump

第九十题(1.不开辟暂时空间交换 2.删除串中指定字符 3.推断链表中存在环)

1.不开辟用于交换数据的暂时空间,怎样完毕字符串的逆序 2.删除串中指定的字符 3.推断单链表中是否存在环 分析和代码: 1,不开辟用于交换的暂时空间,能够用异或交换.或者用字符串的'\0'位置的空间(打个擦边球,使用已有空间.不算开辟). void switch1(char* str) //使用异或交换 { int len = strlen(str); for (int i = 0; i < len / 2; i++) str[i] ^= str[len - i - 1] ^= str[i]