[Data structure] linked list sort하기!
자료구조
linked list sort
linked list sort
<소스코드>
#include <iostream> #include <cstdio> #include <stdlib.h> using namespace std; typedef struct node { int data; node *link; } node; int main() { node *head = NULL; node *tmp, *prev, *p; int n, x; printf("갯수 입력:"); scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &x); tmp = (node *)malloc(sizeof(node)); tmp->data = x; tmp->link = NULL; if (head == NULL) head = tmp; else { if (x < head->data) { tmp->link = head; head = tmp; } else { p = head; while (p != NULL && x > p->data) { prev = p; p = p->link; } tmp->link = prev->link; prev->link = tmp; } } } p = head; while (p != NULL) { printf("%d-> ", p->data); p = p->link; } while (head != NULL) { p = head->link; free(head); head = p; } return 0; } |