筆試程序題專項----2009年408

 多想想有沒有高效的算法,如果1分鐘都能想到的算法,別人考你還要什麼意思?

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;

typedef struct node
{
	char data;
	node *next; 
}node,*pnode;

pnode list,p,q;
int k=100;

void print(pnode head)
{
	p=head->next;
	while(p!=NULL)
	{
		cout<<p->data<<" ";
		p=p->next;
	} 
	cout<<endl;
}
void load1(pnode head,string str)
{
	pnode t=head,tt;
	for(int i=0;i<str.size();i++)
	{
		tt=(pnode)malloc(sizeof(node));
		tt->data=str[i];
		tt->next=NULL;
		
		t->next=tt;
		t=t->next;
	}
}

int len(pnode head)
{
	pnode t=head->next;
	int sum=0;
	while(t->next!=NULL)
	{
	     sum++;
	     t=t->next;
	}
	return sum;
}
int main() {
    
    list=(pnode)malloc(sizeof(node));
    list->next=NULL;
    load1(list,"ABCDEFGHIJKLMNOPQRSTUVWAZX");
    print(list);
    

    pnode p1=list,p2=p1;
    int icount=0;
    while(p1->next!=NULL&&icount<k)
    {
    	icount++;
    	p1=p1->next;
    }
    if(icount<k)
    {
    	return 0;
    }
	else
    {
       p2=list->next;
	   while(p1->next!=NULL)
	   {
   	      p1=p1->next;
	      p2=p2->next;		 	
     	}	
    }
    cout<<p2->data<<endl;
    return 1;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章