時間限制:1 秒
記憶體限制:32 兆
特殊判題:否
提交:9374
解決:3285
題目描述:對輸入的n個數進行排序並輸出。
輸入:輸入的第一行包括乙個整數n(1<=n<=100)。
接下來的一行包括n個整數。
輸出:可能有多組測試資料,對於每組資料,將排序後的n個整數輸出,每個數後面都有乙個空格。
每組測試資料的結果佔一行。
樣例輸入:
41 4 3 2
樣例輸出:
1 2 3 4
2023年華中科技大學計算機保研機試真題
快排:
#include #include #include using namespace std;
const int maxn = 110;
int partition(int* arr, int low, int high)
}if(arr[low] != arr[j])
arr[j] ^= arr[low], arr[low] ^= arr[j], arr[j] ^= arr[low];
}return j;
}void quick_sort(int* arr, int low, int high)
int main()
return 0;
}
歸併:
#include #include #include using namespace std;
const int maxn = 110;
int arr[maxn], b[maxn];
void merge(int low, int mid, int high)
while(i <= mid)
b[k++] = arr[i++];
while(j <= high)
b[k++] = arr[j++];
for(i = low; i <= high; ++i)
arr[i] = b[i];
}void merge_sort(int low, int high)
int main()
return 0;
}
直接呼叫快排:
#include #include #include #include using namespace std;
const int maxn = 110;
int main()
return 0;
}
堆排序:
#include #include #include using namespace std;
const int maxn = 110;
struct heapnode
};void insert_heap(heapnode* pheap, int idata)
else
}pheap->arr[0] = idata;
}void delete_heap(heapnode* pheap)
else
return ; }}
int main()
while (n--)
delete_heap(pheap);
printf("\n");
delete pheap;
} return 0;
}
優先順序佇列:
#include #include #include #include using namespace std;
int main()
while (!q.empty())
printf("\n");
} return 0;
}
九度 題目1202 排序
題目描述 對輸入的n個數進行排序並輸出。輸入 輸入的第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。輸出 可能有多組測試資料,對於每組資料,將排序後的n個整數輸出,每個數後面都有乙個空格。每組測試資料的結果佔一行。樣例輸入 4 1 4 3 2 樣例輸出 1 2 3 4 2006年華中...
九度OJ題目1202 排序
題目描述 對輸入的n個數進行排序並輸出。輸入 輸入的第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。輸出 可能有多組測試資料,對於每組資料,將排序後的n個整數輸出,每個數後面都有乙個空格。每組測試資料的結果佔一行。樣例輸入 4 1 4 3 2 樣例輸出 1 2 3 4 2006年華中...
九度 OJ 之 題目1202 排序
題目描述 對輸入的n個數進行排序並輸出。輸入 輸入的第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。輸出 可能有多組測試資料,對於每組資料,將排序後的n個整數輸出,每個數後面都有乙個空格。每組測試資料的結果佔一行。樣例輸入 4 1 4 3 2 樣例輸出 1 2 3 4 include...