2024.02.05

复习单向,双向链表,并且实现两种链表的增加和删除功能。

单链表头插

Linklist insert_head(datatype element,Linklist head) {

//创建新节点

Linklist s=create_node();

if(NULL==s) return head;

s->data=element;

//1,判断链表为空

if(NULL==head)

{

head=s;

} else //链表不为空

{

s->next=head; head=s;

}

return head;

}

单链表头删

Linklist delete_head(Linklist head)

{

//1,判断链表为空

if(NULL==head)

{

return head;

} else //链表存在1个或多个节点

{

Linklist del=head;

head=head->next;

free(del);

del=NULL;

}

return head;

}

双向链表头插

Doublelink double_insert_head(datatype element,Doublelink head)

{

//创建新节点s

Doublelink s=create_node();

if(s==NULL) return head;

strcpy(s->data,element);

//1.判断链表为空

if(NULL ==head)

head=s;

//2.存在多个节点>=1

else {

s->next=head;

head->priv=s;

head=s;

}

return head;

}

双向链表尾删

Doublelink delete_rear(Doublelink head)

{

//1,判断链表为空

if(NULL ==head)

return head;

//2,只有一个节点

if(head->next==NULL)

{

free(head);

head=NULL;

} else //>=2

{

//找到最后一个节点

Doublelink p=head;

while(p->next!=NULL)

{

p=p->next;

} p->priv->next=NULL;

free(p);

p=NULL;

}

return head;

}

 

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了预测未来几年的PCI、RQI、RDI和SRI的值,你可以使用时间序列分析或回归模型。 对于时间序列分析,你可以考虑使用ARIMA(自回归移动平均)模型或其变体。ARIMA模型可以捕捉时间序列的趋势、季节性和随机性,并进行预测。你可以使用Python中的statsmodels库来拟合ARIMA模型并进行预测。 对于回归模型,你可以使用线性回归或其他回归算法,将年份作为自变量,PCI、RQI、RDI和SRI作为因变量进行拟合。然后,使用训练好的模型进行未来几年的预测。你可以使用Python中的scikit-learn库或其他机器学习库来构建回归模型。 下面是一个示例,演示如何使用线性回归模型进行预测: ```python import pandas as pd from sklearn.linear_model import LinearRegression # 创建DataFrame data = { '年份': [2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2107], 'PCI': [91.67, 91.67, 91.39, 91.25, 90.99, 90.15, 88.02, 85.97, 82.74], 'RQI': [92.27, 92.05, 91.77, 91.25, 90.87, 89.72, 87.67, 82.92, 80.07], 'RDI': [96.02, 91.39, 88.10, 87.76, 85.51, 84.94, 82.42, 85.25, 71.60], 'SRI': [92.27, 92.27, 92.77, 91.25, 90.87, 89.72, 91.67, 82.92, 86.07] } df = pd.DataFrame(data) # 构建线性回归模型 model = LinearRegression() # 拟合模型 model.fit(df[['年份']], df[['PCI', 'RQI', 'RDI', 'SRI']]) # 预测未来几年的值 future_years = [2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026] future_data = pd.DataFrame({'年份': future_years}) predictions = model.predict(future_data[['年份']]) # 打印预测结果 print("预测结果:") for i, year in enumerate(future_years): print(f"年份: {year}") print(f"PCI: {predictions[i][0]}") print(f"RQI: {predictions[i][1]}") print(f"RDI: {predictions[i][2]}") print(f"SRI: {predictions[i][3]}") ``` 在这个示例中,我们首先创建了一个DataFrame,包含了已知的年份和相应的PCI、RQI、RDI和SRI值。然后,我们使用线性回归模型进行拟合,并使用拟合好的模型进行未来几年的预测。最后,我们打印出预测结果。 请注意,这只是一个简单的示例,实际情况中可能需要考虑更复杂的时间序列模型或改进的回归模型,以及进行数据预处理和模型评估等步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值