東華大学復試OJ每日3題練習・第103〜105題の振り返り

基本問題103:入力された文字列から数字を読み取り、'5'をスペースとして扱い、その結果を昇順に並び替えて出力する。 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int count; scanf("%d", &count); getchar(); while(count--) { char line[1000]; fgets(line, sizeof(l ...

5月21日 19:11 投稿

『データ構造』課程設計(C/C++版):植物百科データの管理と分析

目次 第1関:植物情報の追加 第2関:植物情報の削除 第3関:植物情報の変更 第4関:順序表に基づく順次探索 第5関:連結リストに基づく順次探索 第6関:順序表に基づく二分探索 第7関:二分探索木に基づく探索 第8関:オープンアドレス法に基づく ...

5月21日 18:00 投稿

ソートアルゴリズムの例

様々な大企業で採用面接を経験し、よく使用されるソートアルゴリズムについて解説します。 配列のクイックソート import java.util.Arrays; import java.util.Random; public class SortExample { public static void main(String[] args) { int[] numbers = new int[10]; Random rand = new Random(); for (int i = 0; i < 10; i++) { ...

5月20日 22:11 投稿

挿入ソートの原理と実装

挿入ソート(Insertion Sort)は、配列を部分的に整列させながら全体をソートしていくアルゴリズムである。既に整列された部分に対して、次の要素を適切な位置に挿入することで、徐々に整列範囲を広げていく。 アルゴリズムの流れ 最初の要素を「整列済み」とみなす。 次の要素を取り出し、整列済み部分の末尾から先頭に向かって比較を行う。 取り出した要素が比較 ...

5月19日 20:41 投稿

マージソートのアルゴリズムとその実装

配列マージの基本 マージソートの核となる処理は、すでに整列済みの2つの部分配列を効率的に結合することです。たとえば、ar1[] = {1,2,3,4} と ar2[] = {3,4,5,6,7} の2つの配列があるとします。これらを効率的にマージするには、それぞれの配列にポインタを用意しておき、値を比較しながら新しい配列に格納していきます。 #include <stdio.h> #include <stdli ...

5月14日 18:52 投稿