当前位置:实例文章 » JAVA Web实例» [文章]笔试训练Day1

笔试训练Day1

发布人:shili8 发布时间:2024-11-16 19:36 阅读次数:0

**笔试训练 Day1**

### 一、前言笔试是程序员面试的重要组成部分,通过笔试可以快速筛选出对编程技术有兴趣并具备基本能力的人员。作为一名程序员,笔试是你展示自己编程技能和知识的一个机会。

在这篇文章中,我们将带领你完成一天的笔试训练,涵盖了基础数据结构、算法、面向对象编程等方面的题目。

### 二、基础数据结构####1. 数组数组是最基本的线性表结构,它由一组具有相同类型的元素组成。下面是一个使用 C++ 的例子:

cpp#include <iostream>
using namespace std;

int main() {
 int arr[5] = {1,2,3,4,5};
 cout << "第一个元素:" << arr[0] << endl;
 cout << "最后一个元素:" << arr[4] << endl;
 return0;
}


注释:上述代码使用 C++ 来定义一个长度为5 的整型数组,并输出第一个和最后一个元素。

####2. 链表链表是线性表的一种,它的每个结点包含一个数据域和一个指向下一个结点的引用。下面是一个使用 Java 的例子:

javapublic class Node {
 int data;
 Node next;

 public Node(int data) {
 this.data = data;
 this.next = null;
 }
}

public class LinkedList {
 Node head;

 public void addNode(int data) {
 Node newNode = new Node(data);
 if (head == null) {
 head = newNode;
 } else {
 Node lastNode = head;
 while (lastNode.next != null) {
 lastNode = lastNode.next;
 }
 lastNode.next = newNode;
 }
 }

 public void printList() {
 Node currentNode = head;
 while (currentNode != null) {
 System.out.print(currentNode.data + " ");
 currentNode = currentNode.next;
 }
 System.out.println();
 }

 public static void main(String[] args) {
 LinkedList list = new LinkedList();
 list.addNode(1);
 list.addNode(2);
 list.addNode(3);
 list.printList(); // 输出:123 }
}


注释:上述代码使用 Java 来定义一个链表,并添加三个结点,然后输出链表中的元素。

### 三、算法####1. 查找最大值下面是一个使用 C++ 的例子:

cpp#include <iostream>
using namespace std;

int findMax(int arr[], int size) {
 int max = arr[0];
 for (int i =1; i < size; i++) {
 if (arr[i] > max) {
 max = arr[i];
 }
 }
 return max;
}

int main() {
 int arr[] = {3,5,2,7,1};
 cout << "最大值:" << findMax(arr, sizeof(arr)/sizeof(arr[0])) << endl;
 return0;
}


注释:上述代码使用 C++ 来定义一个函数 `findMax`,用于查找数组中最大值,并输出结果。

####2. 排序下面是一个使用 Java 的例子:

javapublic class Sort {
 public static void bubbleSort(int[] arr) {
 int n = arr.length;
 for (int i =0; i < n -1; i++) {
 for (int j =0; j < n - i -1; j++) {
 if (arr[j] > arr[j +1]) {
 // Swap arr[j] and arr[j+1]
 int temp = arr[j];
 arr[j] = arr[j +1];
 arr[j +1] = temp;
 }
 }
 }
 }

 public static void printArray(int[] arr) {
 for (int i : arr) {
 System.out.print(i + " ");
 }
 System.out.println();
 }

 public static void main(String[] args) {
 int[] arr = {5,2,8,3,1};
 bubbleSort(arr);
 printArray(arr); // 输出:12358 }
}


注释:上述代码使用 Java 来定义一个函数 `bubbleSort`,用于对数组进行冒泡排序,并输出结果。

### 四、面向对象编程####1. 类和对象下面是一个使用 C++ 的例子:

cpp#include <iostream>
using namespace std;

class Person {
public:
 string name;
 int age;

 void printInfo() {
 cout << "Name:" << name << endl;
 cout << "Age:" << age << endl;
 }
};

int main() {
 Person person;
 person.name = "John";
 person.age =30;
 person.printInfo();
 return0;
}


注释:上述代码使用 C++ 来定义一个类 `Person`,并创建一个对象 `person`,然后输出其属性。

####2. 继承下面是一个使用 Java 的例子:

javapublic class Animal {
 public void sound() {
 System.out.println("动物叫");
 }
}

public class Dog extends Animal {
 @Override public void sound() {
 System.out.println("狗叫");
 }

 public void wagTail() {
 System.out.println("摇尾巴");
 }
}

public class Cat extends Animal {
 @Override public void sound() {
 System.out.println("猫叫");
 }

 public void scratch() {
 System.out.println("抓挠");
 }
}

public class Main {
 public static void main(String[] args) {
 Dog dog = new Dog();
 dog.sound(); // 输出:狗叫 dog.wagTail(); // 输出:摇尾巴 Cat cat = new Cat();
 cat.sound(); // 输出:猫叫 cat.scratch(); // 输出:抓挠 }
}


注释:上述代码使用 Java 来定义一个类 `Animal`,并创建两个子类 `Dog` 和 `Cat`,然后输出其行为。

### 五、总结本篇文章涵盖了基础数据结构、算法和面向对象编程等方面的题目。通过这些例子,我们可以看到不同语言(如 C++ 和 Java)如何实现相同功能,并且可以学习到如何使用这些技术来解决实际问题。

笔试是程序员面试的重要组成部分,通过笔试可以快速筛选出对编程技术有兴趣并具备基本能力的人员。作为一名程序员,笔试是你展示自己编程技能和知识的一个机会。

希望这篇文章能够帮助你更好地理解这些概念,并且能够在实际面试中表现出色!

相关标签:java开发语言
其他信息

其他资源

Top