Example #1
0
struct node *sum(struct node *start1, struct node *start2, struct node *start3 )
{
	int carry, total, num;
	struct node *p, *q;
	
	carry = 0;
	p=start1;
	q=start2;
	
	while(p!=NULL && q!=NULL)
	{
		total = p->info + q->info + carry;
		num = total % 10000;
		carry = total / 10000;
		if(start3 == NULL)
			start3 = addtoempty(start3, num);
		else
			start3 = addatend(start3, num); 
		p=p->next;
		q=q->next;
	}
	while(p!=NULL)
	{
		total = p->info + carry;
		num = total % 10000;
		carry = total / 10000;
		if(start3 == NULL)
			start3 = addtoempty(start3, num);
		else
			start3 = addatend(start3, num); 
		p=p->next;
	}
	
	while(q!=NULL)
	{
		total = q->info + carry;
		num = total % 10000;
		carry = total / 10000;
		if(start3 == NULL)
			start3 = addtoempty(start3, num);
		else
			start3 = addatend(start3, num); 
		q=q->next;
	}

	if(carry == 1)
		start3 = addatend(start3, carry); 
	return start3;
}
Example #2
0
struct node *create(struct node *start, char *str)
{
	int i,j,num,x=0;
	char temp[100];
	i=strlen(str)-1;
	while(i!=-1)
	{
		if(i<3)
		{
			j=i;	
			x=i+1;
		}
		else
			j=3;	
		while( j!=-1 && i!=-1 )
		{
			temp[j]=str[i];
			j--;
			i--;
		}
		
		if(x==0 )
			temp[4]='\0';
		else
			temp[x]='\0';
		sscanf(temp, "%d",&num);
		if(start == NULL)
			start = addtoempty(start, num);
		else
			start = addatend(start, num);
	}
	return start;
}
Example #3
0
File: 16.c Project: thenooz/test
int main()
{
	struct node *front, *rear;
	front=rear=NULL;
	addatend(&front, &rear, 10);    //10
	qdisplay(front);
	addatbeg(&front, &rear, 20);    //20 10
	qdisplay(front);
	addatbeg(&front, &rear, 30);    //30 20 10
	qdisplay(front);
	addatend(&front, &rear, 5);     //30 20 10 5
	qdisplay(front);
	delbeg(&front, &rear);          //20 10 5
	qdisplay(front);
	delend(&front, &rear);          //20 10
	
	qdisplay(front);
	getch();
}
Example #4
0
/* adds a new node at the end of the linked list */
void addatend ( struct node **s, int num )
{
	if ( *s == NULL )
	{
		*s = malloc ( sizeof ( struct node ) ) ;
		( *s ) -> data = num ;
		( *s ) -> link = NULL ;
	}
	else
		addatend ( &( ( *s ) -> link ), num ) ;
}
Example #5
0
void EvenOdd(struct node *start1,struct node **start2,struct node **start3 )
{
	struct node *p1=start1, *p2=*start2, *p3=*start3;
	
	while(p1!=NULL)
	{
		if( (p1->info)%2 != 0 )
		{
			if(*start2==NULL)
				*start2 = addatbeg(*start2,p1->info);
			else
				*start2 = addatend(*start2,p1->info);
		}
		else
		{
			if(*start3==NULL)
				*start3 = addatbeg(*start3,p1->info);
			else
				*start3 = addatend(*start3,p1->info);
		}
		p1=p1->link;
	}
}/*End of EvenOdd()*/
Example #6
0
struct listnode *create_list(struct listnode *start, int n)
{
	int i,data;
	start=NULL;
	for(i=1;i<=n;i++)
	{
		printf("Enter the element to be inserted : ");
		scanf("%d",&data);
		if(start==NULL)
			start=addtoempty(start,data);
		else
			start=addatend(start,data);	
	}
	return start;
}/*End of create_list()*/
Example #7
0
struct node *create_list(struct node *start)
{
	int i,n,data;
	printf("Enter the number of nodes : ");
	scanf("%d",&n);
	start=NULL;
	printf("Enter the element to be inserted : ");
	scanf("%d",&data);
	start=addatbeg(start,data);
	for(i=2;i<=n;i++)
	{
		printf("Enter the element to be inserted : ");
		scanf("%d",&data);
		start=addatend(start,data);	
	}
	return start;
}/*End of create_list()*/
Example #8
0
void main( )
{
	struct node *p ;

	p = NULL ;

	addatend ( &p, 1 ) ;
	addatend ( &p, 2 ) ;
	addatend ( &p, 3 ) ;
	addatend ( &p, 4 ) ;
	addatend ( &p, 5 ) ;
	addatend ( &p, 6 ) ;
	addatend ( &p, 10 ) ;

	clrscr( ) ;
	display ( p ) ;
}
Example #9
0
struct node *create_list(struct node *last)
{
	int i,n;
	int data;
	printf("Enter the number of nodes : ");
	scanf("%d",&n);
	last=NULL;
	if(n==0)
		return last;
	printf("Enter the element to be inserted : ");
	scanf("%d",&data);
	last=addtoempty(last,data);
		
	for(i=2;i<=n;i++)
	{
		printf("Enter the element to be inserted : ");
		scanf("%d",&data);
		last=addatend(last,data);	
	}
	return last;
}
Example #10
0
main()
{
	int choice,data,item;
	struct node *start=NULL;
	while(1)
	{
		printf("1.Create List\n");
		printf("2.Display\n");
		printf("3.Add to empty list\n");
		printf("4.Add at beginning\n");
		printf("5.Add at end\n");
		printf("6.Add after\n");
		printf("7.Add before\n");
		printf("8.Delete\n");
		printf("9.Reverse\n");
		printf("10.Quit\n");
		printf("Enter your choice : ");
		scanf("%d",&choice);
		switch(choice)
		{
		 case 1:
			start=create_list(start);
			break;
		 case 2:
			display(start);
			break;
		 case 3:
			printf("Enter the element to be inserted : ");
			scanf("%d",&data);
			start=addtoempty(start,data);
			break;
		 case 4:
	        printf("Enter the element to be inserted : ");
			scanf("%d",&data);
			start=addatbeg(start,data);
			break;
		 case 5: 
			printf("Enter the element to be inserted : ");
			scanf("%d",&data);
			start=addatend(start,data);
			break;
		 case 6:
			printf("Enter the element to be inserted : ");
			scanf("%d",&data);
			printf("Enter the element after which to insert : ");
			scanf("%d",&item);
			start=addafter(start,data,item);
			break;
		 case 7:
			printf("Enter the element to be inserted : ");
			scanf("%d",&data);
			printf("Enter the element before which to insert : ");
			scanf("%d",&item);
			start=addbefore(start,data,item);
			break;
		 case 8:
			printf("Enter the element to be deleted : ");
			scanf("%d",&data);
			start=del(start,data);
	   		break;
		 case 9:
		 	start=reverse(start);
			break;
		 case 10:
			exit(1);
		 default:
			printf("Wrong choice\n");
	}/*End of switch*/
   }/*End of while*/
}/*End of main()*/