2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
वयं वार्तालापं कर्तुम् इच्छामःअनुक्रमसारणी, अस्माभिः प्रथमं रेखीयसारणीनां विषये वक्तव्यम्, यतः क्रमिकसारणीः रेखीयसारणीनां प्रकारः अस्ति ।
यथा नाम सूचयति, रेखीयसारणी एकः सारणी अस्ति या रेखा इव दत्तांशं व्यवस्थितं करोति ।
यथार्थतः पङ्क्तिं चिन्तयित्वा अवगन्तुं शक्यते।
रेखीयसारणीनां लक्षणम् : १.
क्रमसारणीयां अनुच्छेदस्य उपयोगः भवतिभौतिकसंबोधनानि क्रमिकानि भवन्तिभण्डारण-एककाः परस्परं पार्श्वे पङ्क्तिबद्धाः जनाः इव सन्ति ।
रेखीयसंरचना या क्रमेण दत्तांशतत्त्वान् संगृह्णाति, प्रायः उपयोगेनसरणीसंग्रहण।
सरणीयां दत्तांशस्य योजनं, विलोपनं, जाँचं, परिवर्तनं च सम्पूर्णं कुर्वन्तु ।
स्वयमेव क्रमसारणीं कार्यान्वयन्तु (storage int type data), क्रमसारणीं वर्गरूपेण उपयुज्यताम्, वयं केचन अन्तरफलकानि कार्यान्वयामः, अर्थात् केचनसदस्य विधिदत्तांशस्य योजनं, विलोपनं, परीक्षणं, परिवर्तनं च साक्षात्कर्तुं।
public class SeqList {
private int[] elem;
private int usedSize;
// 默认构造方法
SeqList(){ }
// 将顺序表的底层容量设置为initcapacity
SeqList(int initcapacity){ }
// 新增元素,默认在数组最后新增
public void add(int data) { }
// 在 pos 位置新增元素
public void add(int pos, int data) { }
// 判定是否包含某个元素
public boolean contains(int toFind) { return true; }
// 查找某个元素对应的位置
public int indexOf(int toFind) { return -1; }
// 获取 pos 位置的元素
public int get(int pos) { return -1; }
// 给 pos 位置的元素设为 value
public void set(int pos, int value) { }
//删除第一次出现的关键字key
public void remove(int toRemove) { }
// 获取顺序表长度
public int size() { return 0; }
// 清空顺序表
public void clear() { }
}
पूर्वनिर्धारितरूपेण वयं प्रारम्भे १० दत्तांशस्थानानि उद्घाटयामः ।
private static final int DEFAULT_SIZE = 10;
public SeqList() {
this.elem= new int[DEFAULT_SIZE];
}
सरणीदीर्घतायां गत्वा स्थानं उद्घाटयितुं सरणीदीर्घतायाः उपयोगं कुर्वन्तु ।
private static final int DEFAULT_SIZE = 10;
public SeqList(int initcapacity) {
this.elem= new int[initcapacity];
}
पूर्वनिर्धारितरूपेण सरणीयाः अन्ते नूतनाः तत्त्वानि योजिताः भवन्ति ।
विचारणीयाः बिन्दवः : १.
public void add(int data) {
if(isFull()){
elem = Arrays.copyOf(elem,elem.length * 2);
}
elem[usedSize++] = data;
}
/**
* 判断当前的顺序表是不是满的!
*
* @return true:满 false代表空
*/
private boolean isFull() {
return usedSize == elem.length;
}
pos सबस्क्रिप्ट् इत्यत्र तत्वं सम्मिलितं कुर्वन्तु।
सावधानताः : १.
private boolean checkPosInAdd(int pos) throws PosIllegalException{
if(pos < 0 || pos > usedSize){
throw new PosIllegalException("位置不合法");
}
return true;
}
// 在 pos 位置新增元素
public void add(int pos, int data) {
try{
if(checkPosInAdd(pos)){
if(isFull()){
elem = Arrays.copyOf(elem,elem.length * 2);
}
for (int i = usedSize; i > pos ; i--) {
elem[i] = elem[i-1];
}
elem[pos] = data;
usedSize++;
}
}catch(PosIllegalException e){
e.printStackTrace();
}
}
पश्यन्तु यत् दत्तः दत्तांशः क्रमसारणीयां समाविष्टः अस्ति वा।
केवलं प्रत्यक्षतया तस्य माध्यमेन लूप् कुर्वन्तु, यदि भवन्तः तत् प्राप्नुवन्ति तर्हि true प्रेषयन्तु, यदि भवन्तः न प्राप्नुवन्ति तर्हि false प्रत्यागच्छन्तु ।
public boolean contains(int toFind) {
for (int i = 0; i < usedSize; i++) {
if(elem[i] == toFind){
return true;
}
}
return false;
}
अस्मिन् क्रमसारणीयां दत्तदत्तांशस्य अनुक्रमणिकां पश्यन्तु ।
केवलं प्रत्यक्षतया लूप् कृत्वा -1 न प्रत्यागत्य return उपस्क्रिप्ट् अन्वेष्टुम् ।
public int indexOf(int toFind) {
for (int i = 0; i < usedSize; i++) {
if(elem[i] == toFind){
return i;
}
}
return -1;
}
तत्त्वं pos स्थाने निर्गच्छतु।
सावधानताः : १.
public int get(int pos) {
try{
if(checkPosInAdd(pos)){
return elem[pos];
}
}catch(PosIllegalException e){
e.printStackTrace();
}
return 0;
}
pos position element परिवर्तनं कुर्वन्तु।
सावधानताः : १.
public void set(int pos, int value) {
try{
if(checkPosInAdd(pos)){
elem[pos] = value;
}
}catch(PosIllegalException e){
e.printStackTrace();
}
}
कीलस्य प्रथमा आगमनं विलोपयन्तु।
सावधानताः : १.
public void remove(int key) {
for (int i = 0; i < usedSize; i++) {
if(elem[i] == key){
for (int j = i; j < usedSize - 1; j++) {
elem[j] = elem[j + 1];
}
usedSize--;
}
}
}
अत्र क्रमसारणीयाः दीर्घतां प्राप्तुं उपयोगीदत्तांशसङ्ख्यां निर्दिशति अर्थात् usedSize इति ।
public int size() {
return usedSize;
}
क्रमसारणीयाः सामग्रीं रिक्तं इति सेट् कुर्वन्तु ।
सावधानताः : १.
public void clear() {
for (int i = 0; i < usedSize; i++) {
elem[i] = 0;
}
usedSize = 0;
}
क्रमिकसूचीं प्रतिनिधितुं जावा मध्ये ArrayList वर्गः प्रदत्तः अस्ति ।
अन्तरफलकविवरणम् : १.
जावा ३ निर्माणविधयः प्रदाति यथा सारणीयां दर्शितम् अस्ति ।
प्रक्रिया | विधिप्रयोगस्य परिचयः |
---|---|
ArrayList () 1.1. | नो-तर्कनिर्माणम् |
ArrayList (संग्रह<? extends E> ग) २. | अन्येषां Collections इत्यस्य उपयोगेन ArrayList इत्यस्य निर्माणं कुर्वन्तु |
ArrayList (int प्रारम्भिकक्षमता) 1.1. | क्रमसारणीयाः आरम्भिकक्षमता निर्दिशन्तु |
प्रदत्ताः सामान्यविधयः उपरि वयं यत् कार्यान्वितवन्तः तत्सदृशाः सन्ति ।
क्रमसारणीनां लाभाः निम्नलिखितरूपेण सन्ति ।
अभ्यासानां लिङ्कानि अधः सन्ति:
यांग हुई त्रिकोण