文档章节

c++实现线性表(以学生增删改查为例)

cyleft
 cyleft
发布于 2017/05/16 11:59
字数 285
阅读 16
收藏 0
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#define MAX 10

using namespace std;
typedef struct student
{

    int id;
    int age;
    int score;
}Stu;
typedef struct List{
    Stu data[MAX];
    int len;
}L;

void init(List &l)
{
    l.len=0;
}

void display_cy(List l)
{
    if(l.len>9)
    {
        cout<<"full!";
        return ;
    }
    for(int i=0;i<l.len;i++)
    {
        cout<<"age:["<<l.data[i].age<<"],id:["<<l.data[i].id<<"],score:["<<l.data[i].score<<"],len:["<<l.len<<"]."<<endl;
    }
    printf("cout is ok\n");
}

void insert_cy(List &l,Stu s)
{
    l.data[l.len] = s;
    l.len++;
    printf("Model one insert is ok!\n");
}

void insert_in_cy(List &l)
{
    Stu s;
    int var_age;
    int var_id;
    int var_score;
    cout<<"Please input id、age and score"<<endl;
    cin>>var_age>>var_id>>var_score;
    s.age = var_age;
    s.id = var_id;
    s.score = var_score;
    l.data[l.len] = s;
    l.len++;
    printf("Model two insert is ok!\n");
}

void delete_cy(List &l,int a)
{
    for(int i=a;i<l.len;i++)
    {
        l.data[i]=l.data[i+1];
    }
    l.len--;
    cout<<"delete is ok"<<endl;
}

void exchange_cy(Stu &s1,Stu &s2){
    int var_age;
    int var_id;
    int var_score;
    var_score = s1.score;
    s1.score = s2.score;
    s2.score = var_score;

    var_age = s1.age;
    s1.age = s2.age;
    s2.age = var_age;

    var_id = s1.id;
    s1.id = s2.id;
    s2.id = var_id;

}

void sort_cy(L& l){
    for(int i=0;i<l.len;i++){
        for(int j=i+1;j<l.len;j++){
            if(l.data[i].score<l.data[j].score)
            {
                exchange_cy(l.data[i],l.data[j]);
            }
        }
    }
}

int main()
{
    L l;
    init(l);
    Stu s1={1,18,80};
    Stu s2={1,18,90};
    Stu s3={1,18,70};
    Stu s4={1,18,20};
    insert_cy(l,s1);
    insert_cy(l,s2);
    insert_cy(l,s3);
    insert_cy(l,s4);
    insert_in_cy(l);
    display_cy(l);
    sort_cy(l);
    display_cy(l);
    return 0;
}

 

© 著作权归作者所有

共有 人打赏支持
cyleft
粉丝 1
博文 31
码字总数 10068
作品 0
九江
程序员
私信 提问
使用MFC实现数据库信息显示和增删改查

【业务需求】 一、功能需求 1、根据提供的UI原型设计界面,界面种类主要是两类界面,一类是检索信息的主界面(TreeCtrl+ListCtl),另一类是检索的详细信息展现页面(Edit、时间控件)用于增...

yagerfgcs
2017/10/29
0
0
基于编程类(能够编译学生代码)的在线考试系统

基于在线考试系统需求 技术需求:需用ssh框架编写(也可只用一种),数据库为MySQL,eclipse/myeclipse开发; 功能需求:老师和学生的登录与注册;老师对学生和试卷管理(增删改查);学生可查...

Orient0109
2016/04/30
5
0
学Java方向的学生实习工作好找吗?

我是这个大三的学生,是学Java方向的,我想知道,实习的工作好找吗?应该会什么?目前会SE、EE,数据库MySQL、 sqlserver。sql语句也会,C语言,c++也会一点。可以用框架做增删改查。这样够了...

明哥聊求职
2018/05/26
0
0
我有一年都没上班了.求各位看技能帮忙估个月薪

工作一年后回学校.现在已经离校.然后技术有提升.迷茫薪资该要多少 熟悉c了解c++ 部分web渗透技术和经验 熟悉java 深入了解jvm原理 一定阅读openjdk(虚拟机部分除外)源码和jdk api(包括nativ...

programme_fancier
2016/03/29
9.9K
47
敢问c++已经快淘汰了吗

1.学c++成本太大,找工作却太难 2.需求太少,待遇太低 3.行业跨度大。做界面的,做算法的,做逻辑的,做驱动的。。 做了一个行业,进入另外一个行业几乎是重头开始。不想php, java,做来做去...

稀饭桶子
2016/08/13
5.3K
27

没有更多内容

加载失败,请刷新页面

加载更多

开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
10
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
6
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
4
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0
RabbitMQ学习(2)

1. 生产者客户端 void basicPublish(String exchange, String routingKey, boolean mandatory, boolean immediate, BasicProperties props, byte[] body) 1. 在生产者客户端发送消息时,首先......

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部