|
|
|
#include <stdio.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
//#include "LinearList/SeqList.c"
|
|
|
|
//#include "LinearList/LinkList.c"
|
|
|
|
//#include "Stack/SeqStack.c"
|
|
|
|
//#include "Stack/LinkStack.c"
|
|
|
|
//#include "Queue/SeqQueue.c"
|
|
|
|
//#include "Queue/LinkQueue.c"
|
|
|
|
#include "Sort/Sort.c"
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
|
|
|
int arr[] = { 1, 24, 3, 27, 2};
|
|
|
|
|
|
|
|
int n = sizeof(arr) / sizeof(arr[0]);
|
|
|
|
printf("%d\n",n);
|
|
|
|
selectSort(arr,5);
|
|
|
|
for (int i = 0; i < n; i++) {
|
|
|
|
printf("%d ", arr[i]);
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
// int a =20;
|
|
|
|
// int *p =&a;
|
|
|
|
// printf("%d--",*p);
|
|
|
|
|
|
|
|
// LinkQueue queue; // 定义一个链队列
|
|
|
|
// initQueue(&queue); // 初始化队列
|
|
|
|
//
|
|
|
|
// // 入队操作,向队列中添加元素
|
|
|
|
// enQueue(&queue, 1);
|
|
|
|
// enQueue(&queue, 2);
|
|
|
|
// enQueue(&queue, 3);
|
|
|
|
//
|
|
|
|
// // 判断队列是否为空
|
|
|
|
// if (queueEmpty(&queue)) {
|
|
|
|
// printf("Queue is empty\n");
|
|
|
|
// } else {
|
|
|
|
// printf("Queue is not empty\n");
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// // 出队操作,从队列中删除元素
|
|
|
|
// int x = deQueue(&queue);
|
|
|
|
// printf("Delete element: %d\n", x);
|
|
|
|
//
|
|
|
|
// // 再次判断队列是否为空
|
|
|
|
// if (queueEmpty(&queue)) {
|
|
|
|
// printf("Queue is empty\n");
|
|
|
|
// } else {
|
|
|
|
// printf("Queue is not empty\n");
|
|
|
|
// }
|
|
|
|
|
|
|
|
//顺序队列
|
|
|
|
// SeqQueue seqQueue;
|
|
|
|
// initQueue(&seqQueue);
|
|
|
|
// enQueue(&seqQueue,1);
|
|
|
|
// enQueue(&seqQueue,2);
|
|
|
|
//// deQueue(&seqQueue);
|
|
|
|
//
|
|
|
|
// int x = deQueue(&seqQueue);
|
|
|
|
// printf("Delete element: %d\n", x);
|
|
|
|
// int y = deQueue(&seqQueue);
|
|
|
|
// printf("Delete element: %d\n", y);
|
|
|
|
// // 再次判断队列是否为空
|
|
|
|
// if (queueEmpty(&seqQueue)) {
|
|
|
|
// printf("Queue is empty\n");
|
|
|
|
// } else {
|
|
|
|
// printf("Queue is not empty\n");
|
|
|
|
// }
|
|
|
|
|
|
|
|
//链栈
|
|
|
|
// LinkStack *stack = NULL;
|
|
|
|
// stack = push(stack, 'a');
|
|
|
|
// stack = push(stack, 'b');
|
|
|
|
// stack = push(stack, 'c');
|
|
|
|
// stack = push(stack, 'd');
|
|
|
|
//
|
|
|
|
// printf("top->data = %c\n",getTop(stack)); // d
|
|
|
|
// printf("top->data = %c\n",getTop(stack->next)); // c
|
|
|
|
//
|
|
|
|
// stack = pop(stack);
|
|
|
|
// stack = pop(stack);
|
|
|
|
// stack = pop(stack);
|
|
|
|
// stack = pop(stack);
|
|
|
|
// pop(stack);
|
|
|
|
// pop(stack);
|
|
|
|
// printf("%d", stackEmpty(stack));
|
|
|
|
|
|
|
|
//顺序栈
|
|
|
|
// SeqStack seqStack;
|
|
|
|
// initStack(&seqStack);
|
|
|
|
// push(&seqStack, 'a');
|
|
|
|
// push(&seqStack, 'b');
|
|
|
|
//
|
|
|
|
// //取栈顶元素
|
|
|
|
// printf("Top = %c\n", getTop(&seqStack));
|
|
|
|
//
|
|
|
|
// printStack(&seqStack); //Stack contents: ba
|
|
|
|
// pop(&seqStack);
|
|
|
|
// printStack(&seqStack); //Stack contents: b
|
|
|
|
// pop(&seqStack);
|
|
|
|
// printStack(&seqStack); //Stack contents:
|
|
|
|
// pop(&seqStack); //stack underflow
|
|
|
|
|
|
|
|
// SeqList s;
|
|
|
|
// initList(&s);
|
|
|
|
// insertList(&s, 1, 100);
|
|
|
|
// insertList(&s, 2, 200);
|
|
|
|
// insertList(&s, 3, 300);
|
|
|
|
// printf("%d\n",deleteList(&s,2));
|
|
|
|
// printf("%d", s.length);
|
|
|
|
// readList(&s);
|
|
|
|
// printf("%d",getElem(&s,1));
|
|
|
|
// printf("%d",locateElem(&s,400));
|
|
|
|
|
|
|
|
// ListNode *l;
|
|
|
|
// l = initLink();
|
|
|
|
// display(l);
|
|
|
|
//
|
|
|
|
// ListNode *k;
|
|
|
|
// k = init();
|
|
|
|
// display(k);
|
|
|
|
// ListNode *m;
|
|
|
|
// m = createList();
|
|
|
|
// display(m);
|
|
|
|
// ListNode *o;
|
|
|
|
// o = insertLinkList(m,3,100);
|
|
|
|
// display(o);
|
|
|
|
}
|
|
|
|
|
|
|
|
|