C言語での配列の基礎
1. 配列の概念
配列は、同じ型の要素の集合です。この定義には以下の2つの重要な点があります:
配列には1つ以上のデータを格納できますが、要素数は0にはなりません(変数を作成することは本質的にメモリ空間を確保することであり、要素数が0だとコンパイラがどの程度の空間を確保すべきかわかりません)。
配列に格納される複数のデータは同じ型である必 ...
8月8日 11:55 投稿
JavaScript配列から重複要素を削除する多様な手法
JavaScript開発において、配列から重複要素を削除する処理は頻繁に求められます。ここでは、様々な手法で配列の重複を除去する方法を紹介します:
二重ループを使用して重複要素を削除する方法
const data = [1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5,5];
console.log(data); //[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5, 5]
function removeDuplica ...
8月4日 11:47 投稿
C言語ポインタの実践的活用とメモリ管理
ビットとバイトの基本
コンピュータの情報処理の最小単位はビットで、0または1の2状態を表現します。バイトは8ビットから構成され、メモリの最小アドレス可能単位として利用されます。1バイト = 8ビットの関係が基本となります。
メモリ格納方式
データのメモリ配置方法にはビッグエンディアンとリトルエンディアンの2方式があります。ビッグエンディアンではデータの上位 ...
8月2日 17:10 投稿
C言語におけるポインタの基礎
メモリアドレスとは
C言語で重要な概念の一つに「アドレス」があります。メモリ(ここでは物理メモリではなく、仮想的な論理メモリ空間を指します)は、1バイトごとに一意な番号が割り当てられています。たとえば、定規の目盛りをイメージしてください。0から999までの目盛りが刻まれた定規で、35mmや256mmの位置を正確に指し示せます。メモリも同様に線形に配置されており ...
8月1日 16:35 投稿
JavaScript基本構文
変数とデータ型
変数の宣言方法
JavaScriptでは、var、let、constの3つのキーワードで変数を宣言できます。
var: 関数スコープを持つ古い宣言方法
let: ブロックスコープを持つES6以降の宣言方法
const: 変更不可の定数を宣言するES6以降の方法
// varで宣言
var userName = 'Taro';
// letで宣言
let userAge = 20;
// constで宣言
const PI = 3.1415;
データ ...
7月24日 01:19 投稿
JavaScriptでの配列のグループ化処理
JavaScriptの配列グループ化
1. データのグループ化(類似GROUP BY)
以下のコードは、配列の要素を指定されたプロパティに基づいてグループ化します。
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device- ...
7月23日 20:25 投稿
配列の最後の要素の最小値:ビット演算と双ポインタによる解法
問題文
2つの整数 n と x が与えられます。長さ n の正の整数配列 nums を構築する必要があります。すべての 0 > ix) & 1
nのinビットを取り出す:(n >> in) & 1
inビットをnのinビットに設定する:x |= (((n >> in) & 1) > ix) & 1) {
ix++;
}
// nのinビットをxのixビット位置に設定
if ((n >> in) & 1) {
...
7月22日 18:45 投稿
逆順配列
逆順配列とは?配列の要素を逆の順序に並べ替える操作です。例えば、入力が 1 4 7 9 3 の場合、出力は 3 9 7 4 1 となります。方法1:インプレースでの逆順この方法では、追加の配列を使用せず、元の配列内で要素を直接交換します。左右から要素を交互に交換し、中心に向かって進んでいきます。#include <stdio.h>
#define MAX_SIZE 10
void reverse_in_place(int a ...
7月20日 03:14 投稿
LeetCode-Java:範囲和検索(一次元および二次元)- 前缀和アルゴリズム
問題
範囲和検索(一次元配列)
整数配列 nums が与えられた場合、以下の種類の複数のクエリを処理する必要があります:
インデックス left と right (left と right を含む)の間にある nums の要素の 和 を計算します。ここで left <= right
NumArray クラスを実装します:
NumArray(int[] nums) 配列 nums を使用してオブジェクトを初期化します
int sumRange( ...
7月19日 18:06 投稿
配列の基本アルゴリズムコード集
1. 配列のソート
1.1 バブルソート
配列の要素を並べ替えるためには、バブルソート、挿入ソート、クイックソートなどのアルゴリズムが利用可能です。バブルソートは初心者にも理解しやすく、重要なアルゴリズムの一つです。
昇順ソートの実現方法:
隣接する要素を比較し、前の方が大きい場合は位置を交換します。
配列の最初から最後まで、隣接要素の比較と交換を繰り ...
7月14日 02:15 投稿