9Mcode comment |
|
|
|
|
|
|
- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -
|
|
|
กระทู้ #1591 [อื่นๆ] (จาก IP: 125.24.108.173)
ช่วยหน่อยค่ะ ใช้ dev c++
คือว่า...จะเขียนโปรแกรมสร้าง data structure แบบ Singly linked list สำหรับเก็บข้อมูลจาก input file (.txt) ที่มีรหัสและชื่อของนักเรียน โดยแต่ละอันจะต้องเก็บข้อมูลเรียงจากน้อยไปหามาก(เรียงตามรหัส) โดยเขียน function ดังนี้ ListAllStudent InsertStudent FindStudentID DropStudent
ก้อเป็นแบบนี้แหละค่ะ(งงอย่างแรง)
|
จากคุณ
:
bebe [2007-11-24 16:26:31]
|
|
ความคิดเห็น #26287 (จาก IP: 58.8.188.121)
#include<iostream.h> #include<conio.h> #include<stdlib.h>
class list { struct node { int data; node *link; }*p; public: void inslast(int); void insbeg(int); void insnext(int,int); void delelement(int); void delbeg(); void dellast(); void disp(); int seek(int); list(){p=NULL;} ~list(); };
void list::inslast(int x) { node *q,*t; if(p==NULL) { p=new node; p->data=x; p->link=NULL; } else { q=p; while(q->link!=NULL) q=q->link; t=new node; t->data=x; t->link=NULL; q->link=t; } cout<<" Inserted successfully at the end.. "; disp(); }
void list:: insbeg(int x) { node *q; q=p; p=new node; p->data=x; p->link=q; cout<<" Inserted successfully at the begining.. "; disp(); }
void list::delelement(int x) { node *q,*r; q=p; if(q->data==x) { p=q->link; delete q; return; } r=q; while(q!=NULL) { if(q->data==x) { r->link=q->link; delete q; return; } r=q; q=q->link; } cout<<" Element u entered "<<x<<" is not found.. "; }
void list:: delbeg() { cout<<" The list before deletion: "; disp(); node *q; q=p; if(q==NULL) { cout<<" No data is present.. "; return; } p=q->link; delete q; return; }
void list:: dellast() { cout<<" The list before deletion: "; disp(); node *q,*t; q=p; if(q==NULL) { cout<<" There is no data in the list.. "; return; } if(q->link==NULL) { p=q->link; delete q; return; }
while(q->link->link!=NULL) q=q->link; q->link=NULL; return; }
list::~list() { node *q; if(p==NULL) return; while(p!=NULL) { q=p->link; delete p; p=q; } }
void list::disp() { node *q; q=p; if(q==NULL) { cout<<" No data is in the list.. "; return; } cout<<" The items present in the list are : "; while(q!=NULL) { cout<<" "<<q->data; q=q->link; } }
void list :: insnext(int value,int position) { node *temp,*temp1; temp=p; if(temp1==NULL) { temp1= new node; temp1->data=value; temp1->link=NULL; p=temp1; return; } for(int i=0;((i<position)&&(temp->link!=NULL)) ;i++) { if(i==(position-1)) { temp1= new node; temp1->data= value; temp1->link=temp->link; temp->link=temp1; } temp=temp->link; } //cout<<" Inserted successfully at the position.."<<position; disp(); }
int list::seek(int value) { node *temp; temp=p; int position=0; while(temp!=NULL) { if(temp->data==value) return position+1; else { temp=temp->link; position=position+1; } } cout<<"
Element "<<value<<" not found"; return 0; }
void main() { list l; int ch,v,p,ps; do { clrscr(); cout<<" Operations on List.. "; cout<<" 1.Insertion 2.Deletion 3.Display 4.Seek 5.Exit"; cout<<" Enter ur choice:"; cin>>ch;
switch(ch) { case 1: cout<<" 1.Insertion at begining 2.Insertion at the end "; cout<<"3.Insertion after the mentioned position "; cout<<" Enter ur choice:"; cin>>ps; cout<<" Enter the value to insert:"; cin>>v; switch(ps) { case 1: l.insbeg(v); break; case 2: l.inslast(v); break; case 3: cout<<" Enter the position to insert the value:"; cin>>p; l.insnext(v,p); break;
default: cout<<" The choice is invalid "; return; } break;
case 2: cout<<" 1.Delete the first element 2.Delete the last element"; cout<<" 3.Enter the element to delete from the list"; cout<<" Enter ur choice:"; cin>>ps; switch(ps) { case 1: l.delbeg(); cout<<" The list after deletion: ";l.disp(); break; case 2: l.dellast(); cout<<" The list after deletion: ";l.disp(); break; case 3: l.disp(); cout<<" Enter the element to delete : "; cin>>v; l.delelement(v); cout<<" The list after deletion: ";l.disp(); break;
default: cout<<" The option is invalid... "; break; } break;
case 3: l.disp(); break;
case 4: l.disp(); cout<<" Enter the element to search:"; cin>>v; cout<<" The position of the element "<< v<<" is "<<l.seek(v); getch(); break;
case 5: exit(1);
default: cout<<" The option is invalid... "; return; } getch(); }while(ch!=5); getch(); return; } |
จากคุณ
:
sup98 [2007-11-24 21:47:34]
|
|
|
- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -
|
|
|
|
|
|
|