list

#include<cstdio>
#include<cstdlib>
using namespace std;
typedef struct ListNode{
	int data;
	ListNode* pre;
	ListNode* nxt;
}List;
int length;

List* CreateList(int len)
{
	List* ret=(List*)malloc(sizeof(List));
	List* tail=ret;
	ret->pre=ret,ret->nxt=ret,ret->data=1;
	for(int i=2;i<=len;i++)
	{
		List* newnode=(List*)malloc(sizeof(List));
		newnode->data=i,
		tail->nxt=newnode,newnode->pre=tail,newnode->nxt=ret,tail=newnode;
	}
	ret->pre=tail;
	length=len;
	return ret;
}
void Delete(List* pos)
{
	pos->pre->nxt=pos->pre;
	pos->nxt->pre=pos->nxt;
	free(pos);
	length--;
}
List* JumpToItem(List* list,int n)
{
	if(n==0) return list;
	while(n--)
		list=list->nxt;
	return list;
}
void Print(List* list)
{
	printf("%d ",list->data);
	for(int i=2;i<=length;i++)
	{
		list=list->nxt;
		printf("%d ",list->data);
	}
	printf("\n");
}
void InsertAft(List* pos,int data)
{
	List* newnode=(List*)malloc(sizeof(newnode));
	newnode->data=data,
	newnode->pre=pos,newnode->nxt=pos->nxt,pos->nxt=newnode;
	length++;
}
void InsertBef(List* pos,int data)
{
	pos=pos->pre;
	InsertAft(pos,data);
}
int main()
{
	List* list=CreateList(15);
	Print(list);
	Delete(list);
	Print(JumpToItem(list,1));
	InsertAft(list,233);
	Print(JumpToItem(list,1));
	InsertBef(JumpToItem(list,2),2333);
	Print(JumpToItem(list,1));
	return 0;
}

  

#include<cstdio>
#include<cstdlib>
using namespace std;
typedef struct ListNode{
    ListNode* pre;
    ListNode* nxt;
    int data;
}List;
int length;
List* head;
List* tail;
inline List* CreateList(int len)
{
    length=len;
    List* ret=(List*)malloc(sizeof(List));
    ret->data=1;
    head=ret,tail=ret;
    for(int i=2;i<=len;i++)
    {
        List* newnode=(List*)malloc(sizeof(List));
        newnode->data=i,newnode->nxt=head,tail->nxt=newnode,newnode->pre=tail,tail=newnode;
    }
    ret->pre=tail;
    return ret;
}
inline void Print()
{
    int len=length;
    List* node=head;
    while(len--)
    {
        printf("node: %d, pre: %d, nxt: %d, data: %d\n",node,node->pre,node->nxt,node->data);
        node=node->nxt;
    }
}
inline List* JumpToItem(int pos)
{
    List* ret=head;
    while(pos--)ret=ret->nxt;
    return ret;
}
inline void Delete(List* elem)
{
    elem->pre->nxt=elem->nxt;
    elem->nxt->pre=elem->pre;
    if(elem==head)head=elem->nxt;
    if(elem==tail)tail=elem->pre;
    length--;
    free(elem);
}
inline void InsertAft(List* pos,int data)
{
    List* newnode=(List*)malloc(sizeof(List));
    newnode->data=data;
    newnode->pre=pos,newnode->nxt=pos->nxt;
    pos->nxt=newnode,pos->nxt->pre=newnode;
    if(pos==tail)tail=newnode;
    length++;
}
inline void InsertBef(List* pos,int data)
{
    List* newnode=(List*)malloc(sizeof(List));
    InsertAft(pos->pre,data);
    if(newnode==head)head=newnode;
}
int main()
{
    List* list=CreateList(20);
    Print();
    InsertBef(list,2333);
    Print();
}

 

#include<cstdio>
#include<cstdlib>
#include<windows.h>
using namespace std;
struct Linker
{
    typedef struct ListNode
    {
        ListNode* pre;
        ListNode* nxt;
        int data;
    } List;
    int length;
    List* head;
    List* tail;
    inline void CreateList(int len)
    {
        length=len;
        List* ret=(List*)malloc(sizeof(List));
		ret->data=1;
        head=ret,tail=ret;
        for(int i=2; i<=len; i++)
        {
            List* newnode=(List*)malloc(sizeof(List));
            newnode->data=i,newnode->nxt=head,tail->nxt=newnode,newnode->pre=tail,tail=newnode;
        }
        ret->pre=tail;
    }
    inline void Print()
    {
        int len=length;
        List* node=head;
        while(len--)
        {
            printf("node: %d, pre: %d, nxt: %d, data: %d\n",node,node->pre,node->nxt,node->data);
            node=node->nxt;
        }
    }
    inline List* JumpToItem(int pos)
    {
        List* ret=head;
        while(pos--)ret=ret->nxt;
        return ret;
    }
    inline void Delete(List* elem)
    {
        elem->pre->nxt=elem->nxt;
        elem->nxt->pre=elem->pre;
        if(elem==head)head=elem->nxt;
        if(elem==tail)tail=elem->pre;
        length--;
        free(elem);
    }
    inline void InsertAft(List* pos,int data)
    {
        List* newnode=(List*)malloc(sizeof(List));
        newnode->data=data;
        newnode->pre=pos,newnode->nxt=pos->nxt;
        pos->nxt=newnode,pos->nxt->pre=newnode;
        if(pos==tail)tail=newnode;
        length++;
    }
    inline void InsertBef(List* pos,int data)
    {
        List* newnode=(List*)malloc(sizeof(List));
        newnode->data=data;
        newnode->pre=pos->pre,newnode->nxt=pos;
        pos->pre=newnode,newnode->pre->nxt=newnode;
        if(pos==head)head=newnode;
        length++;
    }
};
Linker List;
int main()
{
    List.CreateList(1000000);//25M. 
    return 0;
}

  

转载于:https://www.cnblogs.com/TheRoadToAu/p/8012755.html

【A股温度计】www.agwdj.com 镜像版程序V1.0说明 •通过数据可视化技术,将复杂的A股市场数据转化为直观的图形界面,帮助投资者快速把握市场脉搏。 【核心功能】 •全景视角:突破信息碎片化局限,快速定位涨跌分布,一眼锁定今日热点板块 •板块排序:基于申万行业分类标准,对31个一级行业和131个二级行业实时动态排序 •硬件适配:智能适配不同分辨率屏幕,4K以上屏幕显示信息更多(视觉更佳) •智能缩放:A股全图让大A市场5000+个股同屏显示(支持鼠标滚轮及触摸设备5级缩放) 【三秒原则】 •三秒看懂:通过精心设计的视觉图形,让用户在三秒内看清市场整体状况 •三秒定位:智能算法让大成交额个股和热点板块自动靠前,快速定位机会 •三秒操作:极简的界面,让用户减少操作 【使用场景】 •盘前准备:快速了解隔夜市场变化,制定当日策略 •盘中监控:实时跟踪市场动向,及时把握当日机会 •盘后复盘:全面分析当日市场表现,总结经验教训 【适合人群】 •个人用户:快速了解市场整体趋势变化,辅助决策 •专业人员:获取每天市场的数据云图支持研究工作 •金融机构:作为投研系统的可视化补充组件 •财经媒体:制作专业市场分析图表和报道 【市场切换】 •默认加载"A股全图",可切换单独显示的类型如下: •上证A股/深证A股/北证A股/创业板/科创板/ST板块/可转债/ETF 【程序优势】 •运行环境:纯PHP运行(无需安装任何数据库) •数据更新:实时同步→A股温度计→www.agwdj.com •显示优化:自动适配8K/4K/2K/1080P等不同分辨率的屏幕 •设备兼容:对市面上主流的设备及浏览器做了适配(检测到手机/平板/电视等默认Chrome/Firefox/Edge内核过低的情况会自动提示) 【其他说明】 •A股温度计程序演示网址:https://www.agwdj.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值