順序表的例項有很多,在學其他的程式語言時,肯定都學過要求輸入一串亂序的數字,要求進行排序,實現公升序或降序輸出。今天就來用順序表實現亂序輸入,順序輸出(公升序)。
實現上述的功能需要用到的順序表的基本操作有0基本操作前的準備,1初始化順序表,6向順序表插入資料元素。
自己只需寫乙個排序的函式,排序函式的**為:
//排序函式
void paixu(sqlist &l)}}
}然後只需在主函式中定義乙個順序表,亂序輸入一些資料元素,呼叫排序函式,然後遍歷輸出排序後的順序表的所有資料元素。整個**為:
#include
using namespace std;
#include
#include
#define true 1
#define false 0
#define ok 1
#define error 0
#define overflow -2
#define list_init_size 100
#define listincrement 10
typedef int elemtype;
typedef int status;
typedef struct
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 paixu(sqlist &l)}}
}int main()
paixu(la);
cout<
輸入順序表的元素個數為:10
亂序輸入的資料元素為:3 2 7 9 0 1 4 8 6 5
輸出的結果為:
DS之順序表實現輸入資料逆置
實現輸入資料逆置和順序表實現排序是兩個極其相似的過程,因此使用的順序表的基本操作也是一樣的 0基本操作前的準備,1初始化順序表,6向順序表插入資料元素。要想實現輸入資料元素的逆置還需要乙個逆置函式,逆置函式在c c 語言中早已接觸過,因此不陌生,記得在做大量的c 的程式 補充的大題就寫過不下數十遍,...
DS順序表之迴圈移位
題目描述 順序表的移位是迴圈移位,例如順序表 1,2,3,4,5,6。如果左移1位,即原來的頭元素移動到末尾,其它元素向左移1位,變成2,3,4,5,6,1。同理,如果右移1位,即原來的尾元素移動到頭,其它元素向右移1位,變成6,1,2,3,4,5。以下是移位的多個例子 原資料 1,2,3,4,5,...
DS順序表之迴圈移位
題目問題 l ds順序表之迴圈移位 時間限制 1 sec 記憶體限制 128 mb 提交 657 解決 403 提交 狀態 討論版 題目描述 順序表的移位是迴圈移位,例如順序表 1,2,3,4,5,6。如果左移1位,即原來的頭元素移動到末尾,其它元素向左移1位,變成2,3,4,5,6,1。同理,如果...