Get element operations
For the sequential storage structure of linear tables, we want to implement the getelement operation, which will return the I-position element of the linear table.
Insert operation
Insert Algorithm ideas:
1, if the insertion position is unreasonable, throw an exception
2, if the length of the inserted table is greater than or equal to the array length, throw an exception or dynamic increase capacity
3. Move forward from the last element to the I position, moving each of them backwards one position
4. Fill in position I with insert element
5. Table Length plus 1
Delete operation
1, if the deletion location is unreasonable, throw an exception
2. Remove the insertion element
3. Move from the location of the deleted element to the last element position, moving each of them forward one
4, table length minus one
Public Interface List { public Object getelement (intthrows Exception; Public void Doinsert (Object obj,intthrows Exception; Public void doDelete (intthrows Exception;}
Public classSequencelistImplementslist{Static Final intdefualtlenth=10; intMaxSize;//Maximum array length intSize//Current LengthObject[] list;//Object Array//Sequential Table initialization method Public voidInitintsize1) {MaxSize= Size1;//The length of this table is Size1List =NewObject[size1]; } //Non-parametric construction method Publicsequencelist () {init (defualtlenth); } //a method for constructing a parameter PublicSequencelist (intsize2) {init (size2); } @Override PublicObject GetElement (intIndexthrowsException {if(size==0 | | index<0 | | index>=size) {System.out.println ("Parameter is incorrect"); } if(Size = =maxSize) {System.out.println (""); } returnList[index]; } @Override Public voidDoinsert (Object obj,intIndexthrowsException {if(index<0 | | index>size+1) {System.out.println ("Parameter Error"); } if(Size = =maxSize) {System.out.println ("The linear table is full and cannot be inserted"); } for(inti=size-1;i>index-1;i--) {List[i+1]=list[i];//the elements after the specified position are moved back one} List[index]=obj; Size++; } @Override Public voidDoDelete (intIndexthrowsException {if(index<0| | index>=size) {System.out.println ("Parameter Error"); } if(index<size) { for(inti=size-1;i>index;i--) {List[i-1] =List[i]; }} size--; } }
Public classListtest { Public Static voidMain (String args[]) {sequencelist seq=NewSequencelist (20); Try{Seq.doinsert ("AA", 1); Seq.doinsert ("BB", 2); Seq.doinsert ("CC", 3); for(intj=0;j<seq.size;j++) {System.out.println (Seq.getelement (j));} } Catch(Exception e) {//TODO auto-generated Catch blockE.printstacktrace (); } } }
public class Studentlist {public static void main (String args[]) {sequencelist seqlist = new Sequencelist (30); try {seqlist.doinsert (new Student (1, "millet", "female", "seqlist.size"),///each time it is inserted, the last one in the table is inserted Seqlist.doinsert (new Student (2, " Xiao Xu "," Male "," seqlist.size "), for (int i=0;i<seqlist.size;i++) {System.out.println (" + "+ (i+1) +" Student Information: "+ Seqlist.getelement (i). toString ());}} catch (Exception e) {//TODO auto-generated catch Blocke.printstacktrace ();} }}class student{private int id;private string name;private string gender;private int age;public int getId () {return ID;} public void setId (int id) {this.id = ID;} Public String GetName () {return name;} public void SetName (String name) {this.name = name;} Public String Getgender () {return gender;} public void Setgender (String gender) {This.gender = gender;} public int getage () {return age;} public void Setage (int.) {this.age = age;} @Overridepublic String toString () {return "student [id=" + ID + ", name=" + name + ", gender=" + gender+ ", age=" + Age + "]";} Public Student (Int. sid,string name,string Gender,int age) {this.id = Sid;this.name = Name;this.gender = Gender;this.age = A GE;}}
Big talk Data Structure (v) (Java program)--insertion and deletion of sequential storage structure