单链表复习

// linklist.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
struct student{
    long number;
    char name[10];
    float score;
    struct student *next;
};

int main(int argc, char* argv[])
{
    struct student a,b,c,*head,*p;
    a.number=110801; strcpy(a.name,"小明");  a.score=98;
    b.number=110802; strcpy(b.name,"小华");b.score=100;
    c.number=110803; strcpy(c.name,"张三");c.score=95;
    head=&a;
    a.next=&b;
    b.next=&c;
    c.next=NULL;
    p=head;
    do
    {
        cout<<p->number<<"  "<<p->name<<"  "<<p->score<<endl;
        p=p->next;
    } while (p!=NULL);
        return 0;
}
时间: 2024-10-19 15:57:51

单链表复习的相关文章

数据结构复习---顺序表和单链表

1.前言: 最近比较浮躁,想学习一门新的技术却总是浅尝辄止,遇到不懂的地方就想跳过去,时间长了,心态就有点崩了.静下心来,去喝了几碗心灵鸡汤.鸡汤博主感动到了我:"无专注,无风景.不要太贪心,一次只做一件事,而且只做最重要的事.".于是乎,我把家里翻了个底朝天,找到了我垫在床底下的<数据结构>这本书,觉得自己是时候静下心来好好复习一下基础了.今天刚看到顺序表和链表,把我的学习心得记录在这里.也希望自己能坚持,老老实实的把这本书复习完. 2.数据结构的重要性: 讲一门知识之前

数据结构复习--java实现单链表基本操作

单链表的基本操作包括建立单链表.查找运算(按序查找和按值查找).插入运算(前插和后插)和删除运算.下面给出具体的java实现程序: package com.zpp.test; //首先创建一个节点类 public class Node { private Node next; //指针域 private int data;//数据域 public Node( int data) { this. data = data; } } package com.zpp.test; public class

【复习数据结构】单链表的操作

#include <stdio.h> #include <malloc.h> typedef char ElemType; typedef struct LNode{ //定义单链表结点类型 ElemType data; //数据域 struct LNode *next; //指针域 }LNode,*LinkList; /** * 头插法初始化链表 **/ LinkList CreateListhead(void){ char ch; LinkList L; //初始化链表 LNo

【数据结构复习】线性表的链式存储--单链表

链表的重点概念: 数据域和指针域 头指针和头结点 下面是单链表的实现源码: // // main.c // DataStructure // // Created by SuooL on 15/5/22. // Copyright (c) 2015年 SuooL. All rights reserved. // #include "stdio.h" #include "string.h" #include "ctype.h" #include &

数据结构之单链表(C++实现)

有一段时间没有写一些关于数据结构的程序了,正好算法导论这门课学到红黑树,感觉数据结构都忘得差不多了,而且考研还要考,故再拿来复习一下. 一.C++实现单链表 #include<iostream> using namespace std; typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; void CreateList_L(LinkList &L, int n) { L = new LNode()

C/C++——单链表的主要功能实现

恰好在复习C/C++,也重新回顾了一下链表,温故而知新,还是有挺大收获的. 1 /**************************** 2 * 单链表 3 * Author: 玉做的树 4 * 5 * Node* create() 根据输入创建链表 6 * Node* create(int []) 根据数组创建链表 7 * const int length(Node *head) 测长 8 * void print(Node* head) 输出链表 9 * Node* push_back(N

c语言-单链表(二)

继续复习链表知识点,本章包含单链表的增加,删除,判断是否为空,和链表长度,以及链表的排序 几个知识点 1.链表的判断是否为空 //1.判断链表是否为空 bool isempty_list(PNODE pHead) { return pHead->pNext == NULL; } 2. 计算链表的长度 //2.链表长度 int length_list(PNODE pHead) { PNODE pFirst = pHead->pNext;//获取头结点 int num = 0; while (pF

c 单链表反转(不添加新结点空间)

最近复习考研,加上一直都将"算法"放在很高的位置,所以,蛮重视算法的.不多说了,其实这个问题,不难理解的. 主要代码: 1 //反转单链表. 2 void 3 reverse(linklist lList) { 4 Linknode *pre = NULL; //注意该结点不能再指向别的非空结点. 5 Linknode *cur = lList->next; 6 Linknode *next; 7 while(cur) { 8 next = cur->next; 9 cur

线性单链表

昨天提到了用线性单链表实现直接插入排序,所以准备借此复习一下线性单链表的内容......(很惭愧,两个学期没再摸数据结构,记不得了) 线性单链表是一种非随机存取的存储结构.因为与顺序表不同的是,链表结构中结点的位置不是连续的,需要通过链表中的结构指针来单向指引(如果是双向链表,则是双向指引.) 链表中的结点,由两个部分构成,一个是数据域,一个是指针域.指针域可以有一到两个,其中存储的指针,既有指向直接前驱的,也有指向直接后继的.在单链表中,只有指向直接后继的指针. 单链表由头指针开始,头指针指向