链表2
来源:互联网 发布:域普软件怎样 编辑:程序博客网 时间:2024/05/12 07:51
#include<stdio.h>
#include<stdlib.h>
//3+3x+3y+10+10x+10y=13+13x+13y//用循环链表实现
typedef struct suanshu{
int num;
float numx;
char x;
float numy;
char y;
struct suanshu *next;
}SU;
void print(SU *head);
SU *insert(SU *head,int num,float numx,char x,float numy,char y);
int main(){
SU *head=NULL;
head = insert(head,3,5,'x',6,'y');
head = insert(head,7,10,'x',10,'y');
head = insert(head,100,100,'x',100,'y');
print(head);
return 0;
}
SU *insert(SU *head,int num,float numx,char x,float numy,char y)
{
SU *ptr=NULL;
SU *tmp=head;
ptr = (SU *)malloc(sizeof(SU));
ptr->num=num;
ptr->numx=numx;
ptr->x=x;
ptr->numy=numy;
ptr->y=y;
if(NULL == head)
{
head=ptr;
}else{
while(tmp->next != head){//当最后一个元素的指针域指向头元素的时候,退出
tmp = tmp->next;
}
tmp->next=ptr;
}
ptr->next = head;
return head;
}
void print(SU *head){
SU *tmp=head;
int sum=0;
float sumx=0;
float sumy=0;
while(tmp->next != head){
printf("%d+%f%c+%f%c",tmp->num,tmp->numx,tmp->x,tmp->numy,tmp->y);
sum += tmp->num;
sumx += tmp->numx;
sumy += tmp->numy;
tmp=tmp->next;
if(tmp != head)
printf("+");
}
printf("%d+%f%c+%f%c",tmp->num,tmp->numx,tmp->x,tmp->numy,tmp->y);
printf("\n=");
printf("%d+%f%c+%f%c\n",sum+tmp->num,sumx+tmp->numx,head->x,sumy+tmp->numy,head->y);
}
==============================================================================================================================
#include<stdio.h>
#include<stdlib.h>
//3+3x+3y+10+10x+10y=13+13x+13y//用循环链表实现
typedef struct suanshu{
int num;
float numx;
char x;
float numy;
char y;
struct suanshu *next;
}SU;
void print(SU *head);
SU *insert(SU *head,int num,float numx,char x,float numy,char y);
int main(){
SU *head=NULL;
head = insert(head,3,5,'x',6,'y');
head = insert(head,7,10,'x',10,'y');
head = insert(head,100,100,'x',100,'y');
print(head);
return 0;
}
SU *insert(SU *head,int num,float numx,char x,float numy,char y)
{
SU *ptr=NULL;
SU *tmp=head;
ptr = (SU *)malloc(sizeof(SU));
ptr->num=num;
ptr->numx=numx;
ptr->x=x;
ptr->numy=numy;
ptr->y=y;
if(NULL == head)
{
head=ptr;
}else{
while(tmp->next != head){//当最后一个元素的指针域指向头元素的时候,退出
tmp = tmp->next;
}
tmp->next=ptr;
}
ptr->next = head;
return head;
}
void print(SU *head){
SU *tmp=head;
int sum=0;
float sumx=0;
float sumy=0;
while(tmp->next != head){
printf("%d+%f%c+%f%c",tmp->num,tmp->numx,tmp->x,tmp->numy,tmp->y);
sum += tmp->num;
sumx += tmp->numx;
sumy += tmp->numy;
tmp=tmp->next;
if(tmp != head)
printf("+");
}
printf("%d+%f%c+%f%c",tmp->num,tmp->numx,tmp->x,tmp->numy,tmp->y);
printf("\n=");
printf("%d+%f%c+%f%c\n",sum+tmp->num,sumx+tmp->numx,head->x,sumy+tmp->numy,head->y);
}
- 链表2
- 链表2
- 链表2
- 链表2
- 链表2
- 链表(2)
- c++链表2
- Chapter 2 笔记 链表
- 数据结构-链表(2)
- 编程2(链表)
- 数据结构(2):链表
- 【数据结构2】链表
- Redis-数据结构-2-链表
- Leetcode-2(链表)
- java 链表2
- 链表(2)
- 标准C程序设计-链表2
- Java中的数据结构(2)----链表
- Extjs 4.0.7 gridPanel记录添加右键菜单事件
- IOS中的多核并发编程GCD
- Android Layout之三:RalativeLayout(一)
- 烧版本步骤 boot system userdata
- 谈谈你对面向对象编程的认识 12.9.11 京东面试
- 链表2
- 套接字I/O模型-完成端口IOCP
- 如何通过android的应用程序调用另一个应用程序
- VC项目配置详解及快捷键!!!
- MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法
- 线性表——1. 顺序表(向量)
- ubuntu服务器配置
- JAVA中SERIALVERSIONUID的解释
- 鬼脚七之“寒门再难出贵子”---一篇值得一读的好文章,比小说还精彩的现实故事(转载)