当前位置:网站首页 > C++编程 > 正文

c++单向链表类(单向链表c语言)



阅读以下程序并填空(填上正确的语法成分),使其成为完整的程序

假设原链表的结点是按学号(number)由小到大排列的。在已建立的学生链表中插入一新结点,使插入新结点后的链表仍然保持有序。

struct Student

{

        long number;

        float score;

        Student * next;

};

Student * Insert(Student * head, Student * stud)  //插入链表结点

{

        if(    (1)     )    //原链表为空链表

        {

                head=stud;

                stud->next=NULL;

                return(head);

        }

        if(               (2)               )  //结点的插入位置在链首

        {

                stud->next=head;

                head=stud;

                return(head);

        }

        //查找插入位置

        Student * pGuard=head;

while(                          (3)                          )

                pGuard=pGuard->next;

        //插入结点

                         (4)                

                         (5)                

        return(head);

}

 编程题 

1、定义findmax()函数,其功能是寻找数组中的最大元素,将该元素的下标通过参数返回,并返回其地址值,编程实现findmax()函数,并在主函数中输出最大元素的值、下标及其地址。int* findmax(int* array, int size, int* index);

2、设计并测试一个描述学生基本信息的类(Student)。

(1)设计一个学生基本信息的类(Student)包含有数据成员:学号(由系统自动生成)、姓名、性别、家庭地址、电话;包含有如下主要成员函数:

  • 构造函数(用来初始一个学生的基本信息)
  • 以非成员函数的形式重载“<<”使之能显示学生信息
  • 修改学生家庭地址
  • 析构函数

(2)请在主函数中使用所设计的学生类定义学生对象,并输出其基本信息。

阅读以下程序并填空(填上正确的语法成分),使其成为完整的程序 

(1)     head==NULL              

(2)     head->number > stud->number              

(3)     pGuard->next && pGuard->next->number < stud->number        

(4)     stud->next=pGuard->next;              

(5)     pGuard->next=stud;              

 编程题 

1、

#include <iostream>

using namespace std;

int* findmax(int* array, int size, int* index);

int main()

{    int a[10]={33,91,54,67,82,37,85,63,19,68};

      int* maxaddr;

      int idx;

      maxaddr=findmax(a, sizeof(a)/sizeof(*a), &idx);

      cout <<"the index of maximum element is " <<idx <<endl

         <<"the address of it is " <<maxaddr <<endl

         <<"the value of it is " <<a[idx] <<endl;

      return 1; 

}

int* findmax(int* array, int size, int* index)

{    *index=0;

      for(int i=0; i<size; i++)

                    if(array[i]>array[*index])

                  *index=i;

      return &array[*index];           

}

2、

#include <iostream.h>

#include <string.h>

class Student

{

public:

        Student(char *,char*,char,char*,char*);

        void changeAdd(char*);

        ~Student();

        friend ostream & operator <<(ostream & o,const Student &s);

private:

        char number[10];

        char name[10];

        char sex;

        char address[40];

        char telno[10];

};

Student::Student(char *no,char*na,char x,char*add,char*tel)

{

        cout<<"Constructing ..."<<endl;

        strncpy(number,no,sizeof(number));

        number[sizeof(number)-1]='0';

        strncpy(name,na,sizeof(name));

        name[sizeof(name)-1]='0';

        sex=x;

        strncpy(address,add,sizeof(address));

        number[sizeof(address)-1]='0';

        strncpy(telno,tel,sizeof(telno));

        number[sizeof(telno)-1]='0';

cout<<number<<","<<name<<","<<sex<<","<<address<<","<<telno<<endl;

}

void Student::changeAdd(char* newadd)

{

        cout<<"modify..."<<endl;

        strncpy(address,newadd,sizeof(address));

        number[sizeof(address)-1]='0';

}

Student::~Student()

{

        cout<<"Destructing ..."<<endl;

}

ostream & operator <<(ostream & o, const Student &s)

{

        return o<<s.number<<","<<s.name<<","<<s.sex<<","<<s.address<<","<<s.telno<<endl;

}

int main()

{

        Student p("","Frank",'M',"zhangshan road","");

        p.changeAdd("ci tong road");

        cout<<p<<endl;

        return 1;

}

到此这篇c++单向链表类(单向链表c语言)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 删除conda虚拟环境(删除虚拟环境的命令)2025-01-04 14:27:08
  • 佳能cp1500打印机使用方法(佳能mp150打印机说明书)2025-01-04 14:27:08
  • 佳能cp1500打印机怎么样(佳能ip1500打印机)2025-01-04 14:27:08
  • xpac客服(studio2010ac客服电话)2025-01-04 14:27:08
  • w25x16是什么芯片(w-2155是什么cpu)2025-01-04 14:27:08
  • 锁表头excel快捷键(excel锁定表头快捷键)2025-01-04 14:27:08
  • pcap文件是什么(pcap文件用什么打开)2025-01-04 14:27:08
  • 数组方法slice(数组方法find)2025-01-04 14:27:08
  • sin miedo什么意思(sin miedo chiqui)2025-01-04 14:27:08
  • c++ 条件变量性能(c++ 条件语句)2025-01-04 14:27:08
  • 全屏图片