[공학]Linked List를 이용한 삽입정렬
- 최초 등록일
- 2007.04.22
- 최종 저작일
- 2007.01
- 4페이지/
한컴오피스
- 가격 4,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
struct 문을 이용해 학번, 나이, 성적, 포인터를 가진 구조체를 만들고, 각각의 포인터를 다음
구조체를 만드는 역할을 하게 한다. 그리고, 데이터를 입력할 때 마다 학번순으로 정렬을 하여
서 전체 데이터를 출력할 때 정렬된 순서로 출력할 수 있도록 한다.
목차
§ HW #3 과제설명
§ 해결방법
§ Flow chart
§ code
§ 결과
§ 분석
§ 결론
본문내용
,§ HW #3 과제설명
struct 문을 이용해서 linked_list를 만들어서 학번 순으로 정렬하여라.
§ 해결방법
struct 문을 이용해 학번, 나이, 성적, 포인터를 가진 구조체를 만들고, 각각의 포인터를 다음 구조체를 만드는 역할을 하게 한다. 그리고, 데이터를 입력할 때 마다 학번순으로 정렬을 하여서 전체 데이터를 출력할 때 정렬된 순서로 출력할 수 있도록 한다.
§ code
#include <iostream>
using namespace std;
void make_list();
void traverse();
void deallocation();
void sort(); // 함수선언
struct node // 구조체 node 선언 (id, age, grade, next node)
{
int id;
int age;
float grade;
struct node *next;
} *start, *p1, *p2, *p3, *temp; // 구조체 포인터 선언 (p1 : new data, p2 : current data, p3 : before p2 data)
void main() // 메인함수
{
make_list();
traverse();
deallocation(); // 함수호출
}
void make_list() // make_list함수 (linked_list를 만들어주기 위한 함수)
{
int a, b, i;
float c;
cout << "1. 학번을 입력하세요 : ";
cin >> a;
cout << "2. 나이를 입력하세요 : ";
cin >> b;
cout << "3. 성적을 입력하세요 : ";
cin >> c; // 데이터 직접 입력
start = new node;
start -> id = a;
start -> age = b;
start -> grade = c;
start -> next = NULL; // start에 데이터를 각각 입력, start의 link = NULL
for (i = 0; i < 9; i++) // 데이터 값을 추가로 받기위한 for문
{
cout << "1. 학번을 입력하세요 : ";
cin >> a;
cout << "2. 나이를 입력하세요 : ";
cin >> b;
cout << "3. 성적을 입력하세요 : ";
cin >> c;
p1 = new node;
참고 자료
없음