当前位置: 首页 > wzjs >正文

网站开发 原理seocms

网站开发 原理,seocms,围场网站建设,百度推广怎么做的网站实验步骤: 任务一: 编写算法实现带头结点单链表的就地逆置,即利用原带头结点单链表的结点空间把元素序列 a0,al,……,an-i 逆置为 an-1,……,al, a0 [程序参数设计] 定义了一个带头结点的单链表结构体,并提供了初始化、尾部插入、打印、就地…

实验步骤:
任务一:
编写算法实现带头结点单链表的就地逆置,即利用原带头结点单链表的结点空间把元素序列 a0,al,……,an-i 逆置为 an-1,……,al, a0 
[程序参数设计] 定义了一个带头结点的单链表结构体,并提供了初始化、尾部插入、打印、就地逆置和释放链表的函数。在主函数中,首先初始化链表,然后添加一些元素,打印原始链表,执行就地逆置,最后打印逆置后的链表并释放链表的空间。
代码如下:

#include<stdio.h>
#include<malloc.h>
typedef int DataType;
#include "LinList.h"
int main(void){SLNode*head,*p,*q,*temp;int i,j,x;ListInitiate(&head);for(i=0;i<10;i++)ListInsert(head,i,i+1);printf("原来链表:"); for(i=0;i<ListLength(head);i++){ListGet(head,i,&x);printf("%d  ",x);}printf("\n");for(i=1;i<=ListLength(head)-1;i++){temp=head;p=head->next;q=p->next;for(j=1;j<=ListLength(head)-i&&q!=NULL;j++){temp->next=q;temp=q;p->next=q->next;q->next=p;q=p->next;}}		printf("当前链表:");for(i=0;i<ListLength(head);i++){ListGet(head,i,&x);printf("%d  ",x);}Destroy(&head);
}
头文件:typedef struct Node{DataType data;struct Node *next;
}SLNode;
void ListInitiate(SLNode**head){*head=(SLNode *)malloc(sizeof(SLNode));(*head)->next=NULL;
}
int ListLength(SLNode *head){SLNode *p=head;int size=0;while(p->next!=NULL){p=p->next;size++;}return size;
}
int ListInsert(SLNode *head,int i,DataType x){SLNode *p,*q;int j;p=head;j=-1;while(p->next!=NULL&&j<i-1){p=p->next;j++;}if(j!=i-1){printf("插入元素位置参数错!");return 0;}q=(SLNode *)malloc(sizeof(SLNode));q->data=x;q->next=p->next;p->next=q;return 1;
}
int ListDelete(SLNode *head,int i,DataType *x){SLNode *p,*s;int j;p=head;j=-1;while(p->next!=NULL&&p->next->next!=NULL&&j<i-1){p=p->next;j++;}if(j!=i-1){printf("删除元素位置参数错!");return 0;}s=p->next;*x=s->data;p->next=p->next->next;free(s);return 1;
}
int ListGet(SLNode *head,int i,DataType *x){SLNode *p;int j;p=head;j=-1;while(p->next!=NULL&&j<i){p=p->next;j++;}if(j!=i){printf("取出元素位置参数错!");return 0;}*x=p->data;return 1;
}
void Destroy(SLNode **head){SLNode *p,*p1;p=*head;while(p!=NULL){p1=p;p=p->next;free(p1);}*head=NULL;
}

任务二:
设计循环单链表。要求: 
(1)循环单链表的操作,包括初始化,求元素个数,插入、删除、取元素。 
(2) 设计一个测试主函数验证所设计循环单链表的正确性。
[程序参数分析] 定义 Node 结构体来表示循环单链表的结点,头结点的 next 指针指向链表的首结点,而最后一个结点的 next 指针指向头结点,形成循环。程序提供了初始化、求元素个数、插入、删除、取元素、打印、释放链表空间等函数。在主函数中,我们演示了插入、删除、获取元素、打印链表长度和释放链表的操作。
代码如下:

#include<stdio.h>   
#include<malloc.h>
typedef int DataType;
#include"LinListO.h"
int main(void){SLNode *head,*p;int i,x;ListInitiate(&head);for(i=0;i<10;i++){ListInsert(head,i,i+1);}//ListDelete(head,4,&x);printf("链表中的元素:");for(i=0;i<ListLength(head);i++){ListGet(head,i,&x);printf("%d   ",x);}//printf("\n%d ",head->next->data);//printf("\n%d ",head->next->next->next->next->next->next->data);int j=-1;p=head;while(p->next!=head){p=p->next;j++;}ListGet(head,j,&x);printf("\n");printf("%d",x);Destroy(&head);
}
头文件:
typedef struct Node{DataType data;struct Node *next;
}SLNode;
void ListInitiate(SLNode**head){*head=(SLNode *)malloc(sizeof(SLNode));(*head)->next=*head;
}
int ListLength(SLNode *head){SLNode *p=head;int size=0;while(p->next!=head){p=p->next;size++;}return size;
}
int ListInsert(SLNode *head,int i,DataType x){SLNode *p,*q;int j;p=head;j=-1;while(p->next!=head&&j<i-1){p=p->next;j++;}if(j!=i-1){printf("插入元素位置参数错!");return 0;}q=(SLNode *)malloc(sizeof(SLNode));q->data=x;q->next=p->next;p->next=q;return 1;
}
int ListDelete(SLNode *head,int i,DataType *x){SLNode *p,*s;int j;p=head;j=-1;while(p->next!=head&&p->next->next!=head&&j<i-1){p=p->next;j++;}if(j!=i-1){printf("删除元素位置参数错!");return 0;}s=p->next;*x=s->data;p->next=p->next->next;free(s);return 1;
}
int ListGet(SLNode *head,int i,DataType *x){SLNode *p;int j;p=head;j=-1;while(p->next!=head&&j<i){p=p->next;j++;}if(j!=i){printf("取出元素位置参数错!");return 0;}*x=p->data;return 1;
}
void Destroy(SLNode **head){SLNode *p,*p1;p=*head;while(p!=NULL){p1=p;p=p->next;free(p1);}*head=NULL;
}

http://www.dtcms.com/wzjs/210399.html

相关文章:

  • 网站建设技术服务费怎么入账谷歌seo网站推广怎么做
  • 手机编写html软件seo博客是什么意思
  • 洛阳微信网站建设百度搜索网页版
  • dede网站制作教程网络营销推广网站
  • 影城网站建设网上推广怎么弄?
  • 怎样做 网站做seo2022年seo最新优化策略
  • 扬州企业做网站常州谷歌优化
  • 微信手机官方网站百度推广最简单方法
  • WordPress管理员邮件电商网站seo怎么做
  • 如何建网站不花钱百度竞价排名软件
  • 台州制作网站软件网络推广平台软件
  • 访问美国网站 dns设置爱站关键词挖掘工具
  • 网站过期原因seo网上课程
  • 做婚礼logo免费的网站关键词优化推广
  • 中小企业网站建设服务现在最好的免费的建站平台
  • 公司网站换服务器怎么做企业seo顾问服务阿亮
  • wordpress获取文章内容过滤空格资深seo顾问
  • 网站上上传图片 怎么做精准营销通俗来说是什么
  • 零基础学做网站教程打开浏览器直接进入网站
  • 大连知名的seo外包seo学院培训班
  • 建设银行不招聘网站怎么建立网站卖东西
  • 网站后缀有什么区别bing搜索 国内版
  • 自己开设计工作室整站seo
  • 河南中州路桥建设有限公司网站网络推广公司口碑
  • 怎么做一个网上商城广州百度推广优化排名
  • 中国建设教育协会的网站查询个人开发app可以上架吗
  • excel做网站二维码东莞网站建设优化排名
  • 做网站买了域名之后如何免费做网站
  • 校园网站建设策划书品牌宣传推广策划方案
  • 三个年轻人做电影网站800万中国楼市最新消息