實現輸入資料逆置和順序表實現排序是兩個極其相似的過程,因此使用的順序表的基本操作也是一樣的:0基本操作前的準備,1初始化順序表,6向順序表插入資料元素。
要想實現輸入資料元素的逆置還需要乙個逆置函式,逆置函式在c++,c#語言中早已接觸過,因此不陌生,記得在做大量的c++的程式**補充的大題就寫過不下數十遍,挺簡單的掌握技巧,就是你輸入資料的個數的一半,前後進行交換,因此逆置函式的**為:
//逆置函式
void nizhi(sqlist &l)
sqlist;//定義了乙個結構體型別,並命名為sqlist
//1初始化順序表
status initlist(sqlist &l)
l.length=0;//長度為0
l.listsize=list_init_size;
return ok;
}//6向順序表插入資料元素
status listinsert(sqlist &l,int i, elemtype e)
if (l.length>=l.listsize)
l.elem=newbase;
l.listsize+=listincrement;
} elemtype *q=&(l.elem[i-1]);
elemtype *p;
for(p=&(l.elem[l.length-1]);p>=q;--p)
*q=e;
++l.length;
return ok;
}//逆置函式
void nizhi(sqlist &l)
nizhi(la);//呼叫逆置函式
for(i=0;i
輸入資料為:順序表的個數為10
輸入的資料元素為:0 1 2 3 4 5 6 7 8 9
輸出的結果為:
DS 002 順序表 逆置所有元素
問題.設計乙個高效的演算法,將順序表所有元素逆置,要求演算法的空間複雜度為o 1 演算法思想 將第乙個元素與最後乙個元素互換,第二個元素與倒數第二個元素互換,以此類推。偽 void reverse sqlist l elemtype temp 中間變數 for i 0 i解析 空間複雜度是o 1 表...
DS之順序表實現亂序輸入順序輸出
順序表的例項有很多,在學其他的程式語言時,肯定都學過要求輸入一串亂序的數字,要求進行排序,實現公升序或降序輸出。今天就來用順序表實現亂序輸入,順序輸出 公升序 實現上述的功能需要用到的順序表的基本操作有0基本操作前的準備,1初始化順序表,6向順序表插入資料元素。自己只需寫乙個排序的函式,排序函式的 ...
2 20 實現順序表的就地逆置
關於結構體指標的問題,在這裡做了幾個測試 就結構體sqlist來說明,l是型別為sqlist的結構體變數,這邊測試了幾個函式,引用l時,引數為它本身或者為指向它的指標均可 但是在建立順序表時,只能用 l,指標形式。include include typedef int elemtype typede...