链表简单操作

//学完数据后第二次写链表,感觉比第一次要好一点点。

#include <iostream>
#include <cstdlib>
using namespace std;

typedef int DataType;

class Node                      //结点类
{
private:

 DataType data;

 Node *next;

public:
 friend class LinkList;

 Node(DataType d)               //构造结点
 {
  data = d;

  next = NULL;
 }

 Node()                      //构造头结点
 {
  next = NULL;
 }

};

class LinkList
{
   friend  class Node;
private:
   Node *head;           

public:
     LinkList();

 ~LinkList();

 void Insert(DataType d);     //插入

 void Insert(int n, DataType d);   //在n后面插入 d

 void DeteleData(int n);       //删除数据

 void Sort();                  //排序,大 -> 小

 void Reversal();              //就地逆置

 void Print();               //显示


};

LinkList::LinkList()
{
  head = new Node();
}

void LinkList::Insert(DataType d)   //插入
{  
 Node *p = new Node(d);
 
 p->next = head ->next;
 
 head ->next = p;

}
void LinkList::Insert(int n,DataType d)
{
 Node *p = head;

 while(n != 0)
 {
  p = p->next;        //指向n结点

  n--;
 }

 if(p == NULL)
 {
  cout<<"Wrong :"<<n<<"not have data"<<endl; 

  return ;
 }
   else
 {
  Node *q = new Node(d);

  q ->next = p ->next;      //插入P后面

  p->next  = q;
 }
}

void LinkList::DeteleData(int n)
{
    Node *p = head;

 while( (n -1) != 0)
 {
  p = p->next;                 //P指向 n的前一结点

  n--;
 }
 if(p == NULL)
 {
  cout<<"Wrong: There is no Data Delete"<<endl;

  return ;
 }

 else
 {  Node *q = p->next;
  
       p->next = p->next ->next;

    delete q;
    }
}

void LinkList::Sort()       //排序
{
   Node *p, *q;

   Node *qNext;

   p = head;

   q = p->next->next;

   p->next->next = NULL;           //断开第一个结点

   qNext = q;

   while(q != NULL)
   {
       p = head;
 
      while (p->next->data > q ->data)
   {
   p = p->next;                            //P指向要插入数前一结点

   if(p->next == NULL)  break;
   }
     qNext = q->next;

     q->next = p->next;              //插入P后面

     p->next = q;

     q = qNext;
   }
  
}
void LinkList::Reversal()
{
 Node *p = head->next;

 Node *pValue;

 head ->next = NULL;        //断开头结点

 while(pValue != NULL)
 {
      pValue = p->next;

   p->next = head->next;       //不断往头结点后插入

   head->next = p;
 
      p = pValue;
 }
}
void LinkList::Print()           //显示
{
 Node *p;

 p = head->next;

 if(p == NULL)                   //如果为空  返回
 {
  cout<<"Wrong : no data"<<endl;
  
  return ;
 }
   
 while(p != NULL)                 //显示 ,直至为空
 {
      cout<<p->data<<"  ";

  p = p->next;
 }
 cout<<endl;

}
LinkList::~LinkList()
{
   Node *p;

   while(head != NULL)
   {
    p = head;

    head = head->next;       //删除所有结点

    delete p;
   }
}

void main()
{
 LinkList link;

 int data;
 
 for (int i =0;i <10; i++)
 {
  
    data = rand()%15 +1;    //产生随机数 1~15
  
 link.Insert(data);

 }

 link.Insert(2,7);

 link.DeteleData(6);

 link.Reversal();

 link.Print();

 link.Sort();

 link.Print();
}

【3D应力敏感度分析拓扑优化】【基于p-范数全局应力衡量的3D敏感度分析】基于伴随方法的有限元分析和p-范数应力敏感度分析(Matlab代码实现)内容概要:本文档介绍了基于伴随方法的有限元分析与p-范数全局应力衡量的3D应力敏感度分析,并结合拓扑优化技术,提供了完整的Matlab代码实现方案。该方法通过有限元建模计算结构在载荷作用下的应力分布,采用p-范数对全局应力进行有效聚合,避免传统方法中应力约束过多的问题,进而利用伴随法高效求解设计变量对应力的敏感度,为结构优化提供关键梯度信息。整个流程涵盖了从有限元分析、应力评估到敏感度计算的核心环节,适用于复杂三维结构的轻量化与高强度设计。; 适合人群:具备有限元分析基础、拓扑优化背景及Matlab编程能力的研究生、科研人员与工程技术人员,尤其适合从事结构设计、力学仿真与多学科优化的相关从业者; 使用场景及目标:①用于实现高精度三维结构的应力约束拓扑优化;②帮助理解伴随法在敏感度分析中的应用原理与编程实现;③服务于科研复现、论文写作与工程项目中的结构性能提升需求; 阅读建议:建议读者结合有限元理论与优化算法知识,逐步调试Matlab代码,重点关注伴随方程的构建与p-范数的数值处理技巧,以深入掌握方法本质并实现个性化拓展。
下载前必看:https://pan.quark.cn/s/9f13b242f4b9 Android 平板设备远程操控个人计算机的指南 Android 平板设备远程操控个人计算机的指南详细阐述了如何运用 Splashtop Remote 应用程序达成 Android 平板设备对个人计算机的远程操控。 该指南被划分为四个环节:首先,在个人计算机上获取并部署 Splashtop Remote 应用程序,并设定客户端密码;其次,在 Android 平板设备上获取并部署 Splashtop Remote 应用程序,并与之建立连接至个人计算机的通道;再次,在 Splashtop Remote 应用程序中识别已部署个人计算机端软件的设备;最后,运用平板设备对个人计算机实施远程操控。 关键点1:Splashtop Remote 应用程序的部署与配置* 在个人计算机上获取并部署 Splashtop Remote 应用程序,可通过官方网站或其他获取途径进行下载。 * 部署结束后,必须输入客户端密码,该密码在平板控制计算机时用作验证,密码长度至少为8个字符,且需包含字母与数字。 * 在配置选项中,能够设定是否在设备启动时自动运行客户端,以及进行互联网搜索设置。 关键点2:Splashtop Remote 应用程序的 Android 版本获取与部署* 在 Android 平板设备上获取并部署 Splashtop Remote 应用程序,可通过 Google Play Store 或其他获取途径进行下载。 * 部署结束后,必须输入客户端密码,该密码用于连接至个人计算机端软件。 关键点3:运用 Splashtop Remote 远程操控个人计算机* 在 Splashtop Remote 应用程序中识别...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值