计算机软件基础实验—实现链表数组元素相加
lianbiao.h
#ifndef LIANBIAO_H
#define LIANBIAO_H
#include <iostream>
class lianbiao
{
public:
lianbiao();
void lianbiaoinc(int dat,int com_local);//如果为-1则在链的尾部插入
bool lianbiaodel(int num);//删除num位置的数据
void printlianbiao(void);//打印链表
protected:
int long_sizelianbiao = 0;
Node date_strove;//链表头
Node *dd;
Node *ff;
};
#endif // LIANBIAO_H
lianbiao.cpp
#include "lianbiao.h"
lianbiao::lianbiao()
{
//初始化链表
date_strove.next = NULL;
date_strove.data = 0;
long_sizelianbiao = 0;
}
void lianbiao::lianbiaoinc(int dat,int com_local)
{
if(com_local == -1){//在尾部插入
dd = &date_strove;
dd->data = dd->data + 1;
while(dd->next != NULL){
dd = dd->next;
}
ff->data = dat;
ff->next = NULL;
dd->next = ff;
long_sizelianbiao++;
}
else{
if(com_local < long_sizelianbiao){//输入位置有数据在中间插入
}
else{//在尾部自动插入
Node *dd = &date_strove;
while(dd->next != NULL){
dd = dd->next;
}
Node *ff;
ff->data = dat;
ff->next = NULL;
dd->next = ff;
}
long_sizelianbiao++;
}
}
bool lianbiao::lianbiaodel(int num)
{
}
void lianbiao::printlianbiao(void)
{
dd = &date_strove;
while(dd->next != NULL){
std::cout << dd->data <<" ";
dd = dd->next;
}
std::cout << dd->data <<" ";
std::cout<<std::endl;
}
main.cpp
#include <QCoreApplication>
#include <lianbiao.h>
//数组对应元素相加
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
lianbiao x1;
x1.lianbiaoinc(1,-1);
x1.printlianbiao();
return a.exec();
}