链表的基本操作

#include<stdio.h>
#include<stdlib.h>
typedef struct node{
	int coef;
	int exp;
	struct node* next; 
}NODE;

NODE* create(){
	NODE* head = (NODE*)malloc(sizeof(NODE));
	if(head!=NULL){
	  head->coef = 0;
	  head->exp = 0;
	  head->next = NULL;	
	}
	return head;
} 

NODE* Insert_head(int coef,int exp,NODE* head){
	//NODE* tail = head; 
	NODE* newnode =  (NODE*)malloc(sizeof(NODE));
	if(newnode != NULL){
	  newnode->coef = coef;
	  newnode->exp = exp;
	  
	  //头插法操作 
   	  newnode->next = head->next;
   	  head->next = newnode;
   	  return head;
	}
}

NODE* Insert_tail(int coef,int exp,NODE* head){
	NODE* tail = head; 
	while(tail->next != NULL){
		tail = tail->next;
	}
	
	//尾插法 
	NODE* newnode =  (NODE*)malloc(sizeof(NODE));
	if(newnode != NULL){
		newnode->coef = coef;
		newnode->exp = exp;
		
		newnode->next = tail->next;
		tail->next = newnode;
		tail = newnode;	
		return head;
	}
}
void print_node(NODE* head){
	NODE* print_node = head->next;
	while(print_node != NULL){
		printf("coef:%d,exp:%d->",print_node->coef,print_node->exp);
		print_node = print_node->next;
	}
} 

NODE* add_list(){
	
} 


int main()
{
	NODE* A = create();
	NODE* B = create(); 
	
	
	int coef,exp;
	printf("请输入数据:"); 
	scanf("%d%d",&coef,&exp);
	while(coef != 0){
		A = Insert_tail(coef,exp,head);
		scanf("%d%d",&coef,&exp);
	}
	
	scanf("%d%d",&coef,&exp);
	while(){
		B = Insert_tail(coef,exp,head);
		scanf("%d%d",&coef,&exp);
	}
	
	print_node(head);
	return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值